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

yan*_*-qu 6 msbuild

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

yan*_*-qu 7

<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>
Run Code Online (Sandbox Code Playgroud)

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