我有一个TeamCity服务器设置来完成我的CI构建.我正在构建和测试C#解决方案并运行一些自定义的MSBuild任务.其中一项任务是在构建输出中打印警告...
MSBuild命令行参数包含"/ property:"或"/ p:"参数.请改用Build Parameteres.
我不明白这意味着什么或如何删除它.谷歌不好(有或没有拼写错误).我从命令行运行任务(with /verbosity:diagnostic
)并且它没有出现,所以我相信它是一个TeamCity消息.
MSBuild任务是
<Target Name="InstallDb">
<MakeDir Directories="$(DbPath)" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseDrop.sql" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseCreate.sql -v DbPath="$(DbPath)"" />
<Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseProgrammability.sql" />
</Target>
Run Code Online (Sandbox Code Playgroud)
相关的TeamCity步骤信息是
MSBuild版本:4.0
MSBuild ToolsVersion:4.0
运行平台:x64
目标:InstallDb
命令行参数:/property:DbPath=%env.DB_PATH%
man*_*lds 58
您必须添加Build Parameters
下Properties and environment
的配置变量
`
因此,在Build Step
for MSBUild 的命令行参数中,删除指定为的任何属性,/p:
并将其中的每一个添加到Build Parameters
(上面的屏幕截图)并给出值
Ant*_*ean 39
这一切都发生在幕后!你只需遵循正确的惯例.在MSBuild脚本中,使用常规变量表示法
$(DbPath)
Run Code Online (Sandbox Code Playgroud)
在TeamCity中,您可以定义系统或env变量
system.DbPath
Run Code Online (Sandbox Code Playgroud)
TeamCity将自动将其所有system/env变量发送到您的MSBuild任务,删除'system'或'env'部分.而且您不必/property:DbPath=system.DbPath
在TeamCity任务中写入.
归档时间: |
|
查看次数: |
35219 次 |
最近记录: |