我们有一个Team City Unit测试版本,我们通过不同的MSBuild脚本使用$(teamcity_dotnet_nunitlauncher)调用。构建具有环境变量设置。有没有办法可以通过脚本覆盖变量?
答案 0 :(得分:2)
环境变量作为MSBuild属性“发布”,例如:
$(COMPUTERNAME)
...将给出该env var的值。您可以覆盖MSBuild脚本中的任何属性...
<PropertyGroup>
<COMPUTERNAME>NewName</COMPUTERNAME>
</PropertyGroup>
...或者在命令行上传递给MSBuild ...
> msbuild My.proj /t:Target /p:COMPUTERNAME=NewName
这两种改变环境变量所呈现的“属性”的方法并不相同,但是当通过命令行传递属性时,如果在MSBuild文件中声明该值,则不会覆盖该值。