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