我有一些由TeamCity 2020(最新版本)构建的.NET Framework项目。当前使用“ MSBuild”运行器类型-因为不推荐使用,我正尝试将构建任务转换为使用新的“ .NET”运行器类型。当尝试Platform
在参数中将属性设置为“任何CPU”时,TeamCity最终会引用整个参数,这将导致MSBuild失败。
我为此跑步者设置了以下属性:
msbuild
MSBuild 2019
%BuildConfiguration%
参数值)-property:Platform="Any CPU" -verbosity:minimal -nodeReuse:false
运行此版本时,它将失败。在日志中,你可以看到正在运行的MSBuild命令:
MSBuild.exe [solution file] /p:Configuration=[config parameter] "-property:Platform="Any CPU"" -verbosity:minimal -nodeReuse:false
因为TeamCity在-property:Platform
参数周围加上了双引号,所以MSBuild无法识别该参数,并认为正在提供多个项目文件,因此退出。
我试过使用单引号表示“ Any CPU”,删除空格,使用/p:Platform
语法...相同的结果。
如何使用.NET Runner为“任何CPU”平台构建.NET Framework项目?
最终对我有用的解决方案是创建一个新的解决方案平台,该平台基于现有平台,"Any CPU"
但称为AnyCpu
。现在没有空格或引号使事情变得混乱。