【发布时间】:2010-07-21 07:46:55
【问题描述】:
假设我有三个目标 A、B 和 C。
C 依赖于 B。
B依赖于A。
如果我运行msbuild /t:C mybuildfile.xml,它将依次执行目标A、B和C。
如果 A 中有任何失败,我该如何设置以确保 C 和 B 不会被执行?
【问题讨论】:
标签: msbuild
假设我有三个目标 A、B 和 C。
C 依赖于 B。
B依赖于A。
如果我运行msbuild /t:C mybuildfile.xml,它将依次执行目标A、B和C。
如果 A 中有任何失败,我该如何设置以确保 C 和 B 不会被执行?
【问题讨论】:
标签: msbuild
<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
【讨论】: