2010-07-21 5 views
5

Disons que j'ai trois cibles A, B et C. C dépend B. B dépend de A. Si je cours msbuild /t:C mybuildfile.xml, il exécutera cible A, B et C commande. Comment puis-je m'assurer que C et B ne seront pas exécutés si quelque chose échoue dans A?Stop msbuild si une cible échoue

Répondre

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> 

Ok, j'ai compris cela par moi-même. Utilisez le code ci-dessus, si la cible A échoue, elle ira à StopBuild spécifié dans la tâche OnError. Pour plus d'informations sur la façon dont msbuild gère les erreurs, passez à http://en.csharp-online.net/MSBuild:_By_Example%E2%80%94Dealing_with_MSBuild_Errors

Questions connexes