Arn*_*hor 1 msbuild overloading build-script
假设我启动一个构建脚本,定义名为SampleScript,指定参数/p:MyPrefix=Custom.脚本中有以下代码:
<PropertyGroup Condition="$(BuildDefinitionName)=='SampleScript'">
<MyPrefix>Default</MyPrefix>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我得到的,首先将MyPrefix设置为"Custom",然后将其重载为"Default"(我是对的吗?).如果是这样,有没有办法让用户指定的参数更优先,所以它没有超载?
您只能通过动态更改目标内的值来重载命令行上指定的属性...
<Project ...>
<PropertyGroup>
<Value>FromStaticProperty</Value>
</PropertyGroup>
<Target Name="PropertyPrecedence">
<Message Text="Value = '$(Value)'" />
<PropertyGroup>
<Value>FromDynamicProperty</Value>
</PropertyGroup>
<Message Text="Value = '$(Value)'" />
</Target>
</Project>
> msbuild /p:Value=FromCommandLine
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,给定从命令行提供的值,将忽略"FromStaticProperty",但将使用"FromDynamicProperty".
摘自MSBuild Trickery技巧#27
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |