相关疑难解决方法(0)

TeamCity说在MSBuild步骤中使用"Build Parameters"而不是"/ property:".那是什么意思?

我有一个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=&quot;$(DbPath)&quot;" />
  <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%

msbuild teamcity

77
推荐指数
2
解决办法
4万
查看次数

如何在不使用Visual Studio 2012的情况下使用MsBuild在构建服务器上构建Visual Studio 2012发布配置文件

我在这里阅读了很多帖子,但从未找到一个有效的明确答案.所以花了一些时间让它工作,我想我应该发布它.

问题:发布配置文件将在服务器上构建,但不会发布.

解:

  1. 确保安装了Microsoft Windows SDK和.Net Framework 4

  2. 从安装了Visual Studio 2012更新2的客户端计算机,复制:

\Program Files(x86)\MSBuild\Microsoft\Visual Studio\v11.0\Web\
\Program Files(x86)\MSBuild\Microsoft\Visual Studio\v11.0\WebApplications\
Run Code Online (Sandbox Code Playgroud)

到服务器上的相同位置.

然后制作一个简单的批处理文件

"C:\ Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"/ v:diag YOUPROJECT.sln/p:Configuration = Debug/p:DeployOnBuild = true/p:PublishProfile = YOURPROFILE

这对我们在多个构建服务器上工作.

我希望这可以帮助别人.

对我来说,微软没有提供包含所有发布选项的MSBuild更新似乎很疯狂.在我看来,命令行工具在服务器上更重要....

干杯

msbuild build-automation publishing visual-studio-2012

21
推荐指数
1
解决办法
4733
查看次数