使用MSBuild将Web部署到服务器

时间:2013-01-09 07:29:26

标签: iis msbuild visual-studio-2012 web-deployment msdeploy

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

当我使用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时发生的事情)?

1 个答案:

答案 0 :(得分:5)

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

/p:VisualStudioVersion=11.0

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