4

我正在尝试将 AfterBuild 任务添加到我的 VC++2012 项目中,该任务仅在输出更改时才会执行。如果我是正确的,在 C# 中,当您添加构建后事件时,您可以选择指定何时运行构建后事件。我尝试添加诸如_SourceItemsToCopyToOutputDirectory之类的条件,但它没有帮助,无论我是否进行空构建,它都是空的。我发现的唯一属性是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 回答