4

我在 VS 2012 项目中设置了发布配置文件。当我在 VS 中右键单击项目时,选择发布并单击 [发布] 按钮,它使用发布配置文件中提供的设置将项目发布到服务器。

当我使用 msbuild 和命令行时,使用以下语法:

msbuild.exe .\mvc.csproj /p:PublishProfile=DevServer 
/p:DeployOnBuild=True /p:Password=MyPassword /p:AllowUntrustedCertificate=true

然后它构建项目,并给我一条消息:

包“mvc.zip”在以下位置成功创建为单个文件:file:///c:/code/mvcsite/obj/Debug/Package

然后提供有关如何部署包的信息。

如何从命令行部署?我的最终目标是通过 TeamCity 运行部署,我现在正试图让我的命令行属性正确。但是,我现在可以从命令行做的最多的事情是创建部署包,而不是运行实际的部署。我怎样才能做到这两点(最好用一个语句来复制我从那里部署时在 VS2012 中发生的事情)?

4

1 回答 1

5

由于您正在构建 .csproj,因此您错过了一个重要的属性

/p:VisualStudioVersion=11.0

此属性是在 MSBuild 4.5 中引入的,以促进 VS 2010 和 VS 2012 之间的项目共享。一个缺点;构建 .csproj 时,您需要指定此属性的值。构建解决方案文件时,该值可以从解决方案文件版本派生。阅读我的博客http://sedodream.com/2013/01/06/CommandLineWebProjectPublishing.aspx了解更多信息。

于 2013-01-09T08:59:33.320 回答