在TeamCity中,我创建了一个构建配置(Build Configuration),其中包含两个msbuild构建步骤(Build Steps),应该构建一个解决方案(.sln)文件。
我将目标定义为“Build”,当我运行构建时,两个步骤显然执行标准配置,并且都会将Debug或Release配置构建两次。
现在我进入构建步骤设置,找到了CommandLine
参数,对于Debug
,我添加了/p:Configuration=Debug
,对于Release
,我添加了/p:Configuration=Release
。
构建后,TeamCity会产生一个警告:
MSBuild command line parameters contain "/property:" or "/p:". It is recommended to define System Property on Build Parameters instead.
虽然已经构建了一个调试版本和一个发布版本。
我搜索了这个信息并创建了两个 系统参数
:/p:Configuration=Debug
和 /p:Configuration=Release
。
如果我现在将我的调试命令行更改为 %system.DebugConfig%
,将发布命令行更改为 %system.ReleaseConfig%
,那么我会得到相同的错误。
只有在这时,我真正理解了这些系统参数将被传递给每个构建步骤而不是自动完成。
好的,但是如何使用系统参数或不让Team City抱怨在命令行中发现/p
来正确定义构建调试和发布的两个不同的构建步骤?
/p
参数时再创建主文件。 - Samuel