我希望能够写下面的内容,但不能在msbuild中编写:
<Target Name="SetDynamicPropertyValues">
<PropertyGroup>
<TargetHost>$($(Target-Environment)-Host)</TargetHost>
</PropertyGroup>
</Target>
使用property::get-value function可以在NAnt中轻松完成。之前问题的答案显示approach using the Condition attribute。
有更好的方法吗?
答案 0 :(得分:0)
MSBuild处理属性名称一次。要做这种功能,必须多次调用预处理。我认为使用基于条件的方法会更好。
<PropertyGroup>
<TargetHost Condition="'$(Target-Environment)'=='Env1'">Host_1</TargetHost>
<TargetHost Condition="'$(Target-Environment)'=='Env2'">Host_2</TargetHost>
<TargetHost Condition="'$(TargetHost)'==''">DefaultHost</TargetHost>
</PropertyGroup>