我正在尝试向我的 VC++2012 项目添加一个 AfterBuild 任务,该任务仅在输出更改时执行。如果我是对的,在 C# 中,当您添加构建后事件时,您可以选择指定何时运行构建后事件。我尝试添加条件,例如 _SourceItemsToCopyToOutputDirectory 但它没有帮助,无论我是否进行空构建,它都是空的。我发现的唯一属性是 LinkSkippedExecution 但我不确定它是最好的选择。
谢谢你的帮助
最佳答案
Check out this stack overflow question and answer:
您可以根据输出文件的时间戳在构建之前的目标中创建一个属性。
<Target Name="BeforeBuild">
<PropertyGroup>
<MyBeforeCompileTimestamp>%(IntermediateAssembly.ModifiedTime)
</MyBeforeCompileTimestamp>
</PropertyGroup>
</Target>
<Target Name="AfterBuild">
<CallTarget Condition="$(MyBeforeCompileTimestamp) !=
%(IntermediateAssembly.ModifiedTime)" Targets="MyTarget" />
</Target>