Azure Functions V2プロジェクト、Core 2.2でビルド後のコマンドを使用して、binフォルダーからファイルを1レベル上にコピーするのに苦労しています。問題には2つの部分があると思います。
現時点では、私のコマンドは1つの特定のファイルを対象としています。これは、次の問題が発生しているためです。
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="(robocopy $(TargetDir)bin\ $(TargetDir) MyProject.pdb) ^& IF %25ERRORLEVEL%25 LSS 8 SET ERRORLEVEL = 0" />
PDBファイルはフレッシュビルドでは利用できません
新しいビルドとして実行する場合、copyコマンドを実行すると、メインプロジェクトの元のPDBファイルは使用できません。robocopyレポートファイルは使用できません。それらは、おそらくすでに構築されているため、依存プロジェクト用に存在します。
では、PDBファイルはいつ生成されますか?ビルド後のコマンドの後に作成されていますか?AfterTargets
このコマンドを実行するのではなく、実行するために配置できるターゲットはありPostBuildEvent
ますか?
ファイルはコピーされません
これは、ビルドを2回実行すると発生するため、元のPDBファイルが存在します。
手動で実行すると機能するrobocopyコマンドがあります(必死になってcopyとxcopyも試しました)。
(robocopy $(TargetDir)bin\ $(TargetDir) MyProject.pdb) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
ビルド後のイベントとして実行すると、ファイルがコピーされたことが報告されます。
Total Copied Skipped Mismatch FAILED Extras
Dirs : 1 0 1 0 0 0
Files : 1 1 0 0 0 0
Bytes : 57.5 k 57.5 k 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
しかし、ファイルはありません。ファイルのコピー後のある時点でディレクトリがクリアされていますか?上記のように、私の最善の推測は、他のAfterTargets
セットが必要だということです。
これはかなり一般的なことのように思えます....何かが足りないのですか、それとも関数プロジェクトであるためですか?
_GenerateFunctionsPostBuild
ターゲットがあることが判明しました(正確にはどこから来たのかわかりません)が、それを使用すると修正されました
<Target Name="PostBuild" AfterTargets="_GenerateFunctionsPostBuild">
<Exec Command="(robocopy $(TargetDir)bin\ $(TargetDir) *) ^& IF %25ERRORLEVEL%25 LSS 8 SET ERRORLEVEL = 0" />
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加