0
我有一些特定的構建後操作綁定到發佈配置,它部署到測試環境。在某人使用發佈配置爲特定項目進行本地構建之前,是否有辦法啓用彈出式警告?如果沒有,我可以讓我的構建後行爲更加智能化。在構建發佈配置之前提示?
我有一些特定的構建後操作綁定到發佈配置,它部署到測試環境。在某人使用發佈配置爲特定項目進行本地構建之前,是否有辦法啓用彈出式警告?如果沒有,我可以讓我的構建後行爲更加智能化。在構建發佈配置之前提示?
您需要使用自定義的MSBuild任務。這是一個內聯任務,讓你開始。
<Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003' ToolsVersion="12.0">
<UsingTask TaskName="ShowConfirmationPopup" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
<ParameterGroup>
<Message ParameterType="System.String" Required="true" />
<Title ParameterType="System.String" Required="false" />
<Result ParameterType="System.Boolean" Output="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Windows.Forms"/>
<Using Namespace="System.Windows.Forms" />
<Code Type="Fragment" Language="cs"><![CDATA[
Result = MessageBox.Show(Message, Title ?? "MSBuild Confirmation",
MessageBoxButtons.YesNo, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1) == DialogResult.Yes;
]]></Code>
</Task>
</UsingTask>
<Target Name="PromptReleaseBuild" BeforeTargets="PrepareForBuild" Condition="'$(Configuration)' == 'Release'">
<ShowConfirmationPopup Message="Do Release Build?">
<Output TaskParameter="Result" PropertyName="DoReleaseBuild" />
</ShowConfirmationPopup>
<Error Text="Prompt refused" Condition="'$(DoReleaseBuild)' != 'true'" />
</Target>
</Project>