基本上,我想在AfterBuild目标中执行一些任务,但仅当构建成功时才执行。

我读到某个地方,成功构建后将运行PostBuildEvent,但是无论如何都将运行AfterBuild。这是真的?

最佳答案

如果构建不成功,则不会调用AfterBuild目标。

像这样在$(MSBuildToolsPath)\Microsoft.Common.targets中定义:

<PropertyGroup>
  <BuildDependsOn>
    BeforeBuild;
    CoreBuild;
    AfterBuild
  </BuildDependsOn>
</PropertyGroup>

如果构建失败(CoreBuild目标),则不会调用AfterBuild

10-04 22:12