如何根据参数的值是否可用(来自Jenkin的工作)来设置属性。如果可用,我需要使用该值,否则使用MSBuild中的默认值。
...谢谢
答案 0 :(得分:2)
您可以通过" condition"来完成此操作。 (如果需要,你可以选择叠加它们)
第一个例子,如果命令行没有设置属性,请设置属性。在下面,如果命令行(这是jenkins可能做的,是通过命令行发送属性).........如果命令行没有设置属性,属性将解析为花生。否则它将使用命令行发送的内容。
<PropertyGroup>
<WorkingCheckout Condition="'$(WorkingCheckout)'!=''">peanut</WorkingCheckout>
</PropertyGroup>
并且为了踢...第二个例子(这不能解决你的问题,但会增强这个答案)
使用条件设置属性并存在...如果有多种可能性。以下将检查
".."
以及"..\.."
和"..\..\.."
表示文件,如果文件存在则设置它。我输入了一条错误消息&#34;如果没有&#34;存在&#34;条件得到满足。一个穷人的异常处理。
<PropertyGroup>
<MySettingsFile>Bad_Relative_Path_Logic_Need_To_Check_All_Relative_Paths</MySettingsFile>
<MySettingsFile Condition="Exists('$(WorkingCheckoutMassaged)..\SomeFolder\MySettings.xml')">$(WorkingCheckoutMassaged)..\SomeFolder\MySettings.xml</MySettingsFile>
<MySettingsFile Condition="Exists('$(WorkingCheckoutMassaged)..\..\SomeFolder\MySettings.xml')">$(WorkingCheckoutMassaged)..\..\SomeFolder\MySettings.xml</MySettingsFile>
<MySettingsFile Condition="Exists('$(WorkingCheckoutMassaged)..\..\..\SomeFolder\MySettings.xml')">$(WorkingCheckoutMassaged)..\..\..\SomeFolder\MySettings.xml</MySettingsFile>
</PropertyGroup>