属性 MSBuild 的设置值
Setting value for a property MSBuild
如何根据参数值是否可用(来自 Jenkin 的作业)来设置 属性。如果可用,我需要使用该值,否则使用 MSBuild 中的默认值。
谢谢...
您可以通过 "condition" 执行此操作。 (如果需要,您可以选择堆叠它们)
第一个例子,如果命令行没有设置,就设置一个属性。下面,如果命令行(jenkins 可能会通过命令行发送属性).........如果命令行未设置 属性,则 属性 将解决花生。否则它将使用命令行发送的内容。
<PropertyGroup>
<WorkingCheckout Condition="'$(WorkingCheckout)'!=''">peanut</WorkingCheckout>
</PropertyGroup>
为了好玩....第二个例子(这没有解决你的问题,但增强了这个答案)
设置 属性 使用条件并存在...如果有多种可能性。下面将检查
".."
和 "..\.."
和 "..\..\.."
对于一个文件,如果文件存在则设置它。如果不满足 "exists" 条件,我会输入 "error message"。一个穷人的异常处理。
<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>
如何根据参数值是否可用(来自 Jenkin 的作业)来设置 属性。如果可用,我需要使用该值,否则使用 MSBuild 中的默认值。
谢谢...
您可以通过 "condition" 执行此操作。 (如果需要,您可以选择堆叠它们)
第一个例子,如果命令行没有设置,就设置一个属性。下面,如果命令行(jenkins 可能会通过命令行发送属性).........如果命令行未设置 属性,则 属性 将解决花生。否则它将使用命令行发送的内容。
<PropertyGroup>
<WorkingCheckout Condition="'$(WorkingCheckout)'!=''">peanut</WorkingCheckout>
</PropertyGroup>
为了好玩....第二个例子(这没有解决你的问题,但增强了这个答案)
设置 属性 使用条件并存在...如果有多种可能性。下面将检查
".."
和 "..\.."
和 "..\..\.."
对于一个文件,如果文件存在则设置它。如果不满足 "exists" 条件,我会输入 "error message"。一个穷人的异常处理。
<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>