ビルドターゲットの後にVisual Studioプロジェクトファイルの作成後に長いアフタービルドプロセスがあります。Visual Studioプロジェクト - MSBuildターゲット - AfterBuild - 条件 - バイナリファイルが更新された場合のみ
問題は、実際のソースコードが変更されておらず、プロジェクトがコンパイルされていなくても、ビルド時に常にAfterBuildターゲットを実行することです。
これは、プロジェクトがコンパイルされ、物理バイナリがディスクに書き込まれたり更新されたりしたときにのみ実行できますか?
<Target Name="AfterBuild">
<Exec Command=""$(ProgramFiles)\Microsoft\ILMerge\ILMerge.exe" /copyattrs /log /target:library /targetplatform:4,C:\Windows\Microsoft.NET\Framework64\v4.0.30319 /Lib:"$(TargetDir)\" /keyfile:"$(ProjectDir)\Plugin.snk" /out:"$(TargetDir)\$(AssemblyName).merged.dll" "$(AssemblyName).dll" "PluginCommandCommon.dll" "Common.dll"" />
<Copy SourceFiles="$(TargetDir)\$(AssemblyName).merged.dll" DestinationFolder="$(ProjectDir)..\PluginPackage\bin\$(Configuration)\" />
</Target>
あなたは見てもよい: http://stackoverflow.com/questions/516227/suppressing-afterbuild-targets-a-csproj-has-been-built- –
はい、これは答えがリンクであるかのように見え、もっと調査します – Simon
本当にリンクの答えを理解できません私は何かが足りないと思う。効果的に私がしたいのは、プロジェクトが構築され、ファイルがbinディレクトリに書き込まれたときに、いくつかのmsビルドタスクを実行することだけです。 – Simon