4

出力が変更された場合にのみ実行される AfterBuild タスクを VC++2012 プロジェクトに追加しようとしています。私が正しければ、C# でビルド後のイベントを追加するときに、ビルド後のイベントをいつ実行するかを指定するオプションがあります。_SourceItemsToCopyToOutputDirectoryなどの条件を追加しようとしましたが、役に立たず、null ビルドを行っているかどうかに関係なく空です。私が見つけた唯一のプロパティはLinkSkippedExecutionですが、それが最適なオプションかどうかはわかりません。

ご協力いただきありがとうございます

4

1 に答える 1

2

このスタック オーバーフローの質問と回答を確認してください 。出力ファイルのタイムスタンプに基づいて、ビルド前ターゲットにプロパティを作成できます。

<Target Name="BeforeBuild">
    <PropertyGroup>
      <MyBeforeCompileTimestamp>%(IntermediateAssembly.ModifiedTime)
                 </MyBeforeCompileTimestamp>
    </PropertyGroup>
  </Target>

  <Target Name="AfterBuild">
    <CallTarget Condition="$(MyBeforeCompileTimestamp) !=   
          %(IntermediateAssembly.ModifiedTime)" Targets="MyTarget" /> 
  </Target>
于 2013-03-18T00:01:00.940 に答える