2010-02-12 49 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> 
相關問題