如果目标失败,请停止msbuild进程

时间:2010-07-21 07:46:56

标签: msbuild

假设我有三个目标A,B和C. C取决于B. B取决于A. 如果我运行msbuild /t:C mybuildfile.xml,它将按顺序执行目标A,B和C. 如果A中有任何失败,我如何设置以确保C和B不会被执行?

1 个答案:

答案 0 :(得分:6)

<Target Name="StopBuild">
    <Message Text="An error has occurred, build stopped." />
</Target>

<Target Name="A">
    <OnError ExecuteTargets="StopBuild"/>
</Target>

<Target Name="B" DependsOnTargets="A">

</Target>

好的,我自己想出来了。使用上面的代码,如果目标A失败,它将转到OnError任务中指定的StopBuild。有关msbuild如何处理错误的更多信息,请转到 http://en.csharp-online.net/MSBuild:_By_Example%E2%80%94Dealing_with_MSBuild_Errors