2010-02-12 28 views
3

如何使用MSBuild根据用户输入停止或继续构建?如何根据MSBuild中的用户输入进行分支?

我现在有这个在我的项目文件:

<Target Name="Afterbuild"> 
    <MSBuild.ExtensionPack.UI.Dialog TaskAction="Confirm" Title="Production Deployment" Button1Text="Continue" Button2Text="Cancel" Text="WARNING !!! You are about to overwrite code on the prodution server. Please confirm!"> 
     <Output TaskParameter="ButtonClickedText" PropertyName="Clicked"/>    
    </MSBuild.ExtensionPack.UI.Dialog> 

    <Message Text="User Clicked: $(Clicked)"/> 
    <Message Text="User Typed: $(Typed)"/> 
</Target> 

我不确定如何进行。

+0

凡定义的属性$类型化?我没有看到它在您的代码中定义 – Jake 2014-03-27 16:35:58

回答

4

您可以使用错误任务符合条件:

<Target Name="Afterbuild"> 
    <MSBuild.ExtensionPack.UI.Dialog TaskAction="Confirm" Title="Production Deployment" Button1Text="Continue" Button2Text="Cancel" Text="WARNING !!! You are about to overwrite code on the prodution server. Please confirm!"> 
    <Output TaskParameter="ButtonClickedText" PropertyName="Clicked"/>    
    </MSBuild.ExtensionPack.UI.Dialog> 

    <Error Condition="'$(Clicked)' == 'Cancel'" 
     Text="Build have been canceled by user"/> 

    <CallTarget Condition="'$(Clicked)' == 'Continue'" 
       Targets="ContinueBuild" 
       Text="Proceed with build"/> 
</Target> 
相关问题