首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TeamCity建议在MSBuild步骤中使用“构建参数”而不是"/property:“。那是什么意思?

TeamCity建议在MSBuild步骤中使用“构建参数”而不是"/property:“。那是什么意思?
EN

Stack Overflow用户
提问于 2011-06-03 02:11:19
回答 2查看 37.5K关注 0票数 80

我有一个TeamCity服务器设置来执行CI构建。我正在构建和测试一个C#解决方案,并运行一些自定义的MSBuild任务。其中一项任务是在我的构建输出中打印一个警告...

MSBuild命令行参数包含"/property:“或"/p:”参数。请改用构建参数。

我不明白这是什么意思,也不知道如何删除它。它不能很好地搜索(不管有没有打字错误)。我从命令行(使用/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=&quot;$(DbPath)&quot;" />
  <Exec Command="sqlcmd -S .\sqlexpress -i db\OmnyxDatabaseProgrammability.sql" />
</Target>

并且相关的TeamCity步骤信息是

MSBuild版本: 4.0

MSBuild ToolsVersion: 4.0

运行平台: x64

目标: InstallDb

命令行参数: /property:DbPath=%env.DB_PATH%

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-03 02:16:23

您必须在配置中的Properties and environment变量下添加Build Parameters

`

因此,在MSBUild的Build Step中的命令行参数中,删除任何指定为/p:的属性,并将每个属性添加到Build Parameters (上面的屏幕截图)中,然后给出值

票数 58
EN

Stack Overflow用户

发布于 2011-08-09 03:56:28

这一切都发生在幕后!你只需要遵循正确的约定。在MSBuild脚本中,使用常规变量表示法

$(DbPath)

在TeamCity中,您可以定义一个系统或环境变量

system.DbPath

TeamCity会自动将其所有系统/环境变量发送到您的MSBuild任务,删除‘系统’或‘环境’部分。而且您不必在TeamCity任务中编写/property:DbPath=system.DbPath

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6218486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档