设置属性MSBuild的值

时间:2017-03-20 12:04:48

标签: jenkins properties msbuild default

如何根据参数的值是否可用(来自Jenkin的工作)来设置属性。如果可用,我需要使用该值,否则使用MSBuild中的默认值。

...谢谢

1 个答案:

答案 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>