2010-07-21 3 views
5

Допустим, у меня есть три цели A, B и C. C зависит от B. B зависит от А. Если я бегу msbuild /t:C mybuildfile.xml, он будет выполнять цель A, B и C в заказ. Как настроить, чтобы убедиться, что C и B не будут выполнены, если в A ничего не произошло?Остановить процесс MSBuild, если цель не удается

ответ

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 не удалась, он перейдет к StopBuild, указанному в задаче OnError. Подробнее о том, как msbuild обрабатывает ошибки, перейдите к http://en.csharp-online.net/MSBuild:_By_Example%E2%80%94Dealing_with_MSBuild_Errors

Смежные вопросы