假设我有三个目标A、B和C。C依赖于B,B依赖于A。如果我运行
msbuild /t:C mybuildfile.xml
,它将按顺序执行目标A、B和C。我该如何设置以确保如果A失败,则不会执行C和B?msbuild /t:C mybuildfile.xml
,它将按顺序执行目标A、B和C。我该如何设置以确保如果A失败,则不会执行C和B?<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—Dealing_with_MSBuild_Errors