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

21

我在这里阅读了许多帖子,但没有找到一个清晰有效的答案。所以,在花费时间让它工作后,我想应该发布它。

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

解决方案:

  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\

将文件发布到服务器相同的位置。

然后创建一个简单的批处理文件:

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

这在我们的多个构建服务器上都有效。

希望这能帮助到某些人。

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


我应该安装32位还是64位的SDK(假设构建服务器本身是64位)? - Vertigo
我花了数小时来弄清楚为什么deployonbuild没有作为我的msbuild任务的一部分触发。这让我朝着正确的方向前进。谢谢。 - Skowronek
1
我发现在构建服务器上安装Web Tools 2012.2更新后,我的DeployOnBuild可以在服务器上工作。http://stackoverflow.com/a/20616532/830402 - Kevin Obee
3
我建议您将其拆分为问题和答案,以便它不会显示为未回答的问题。 - Sire
1个回答

10

将 Dave 的解决方案转换成答案。

解决方案:

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

  2. 从已安装 Visual Studio 2012 update 2 的客户端机器上复制:

\Program Files(x86)\MSBuild\Microsoft\Visual Studio\v11.0\Web\
\Program Files(x86)\MSBuild\Microsoft\Visual Studio\v11.0\WebApplications\

将文件上传到您服务器上的相同位置。

然后创建一个简单的批处理文件:

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

这对我们在多个构建服务器上的工作是有效的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接