我在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当我从那里部署)?
由于您正在构建.csproj,因此您错过了一个重要的属性
/p:VisualStudioVersion=11.0
这个属性是在MSBuild 4.5中引入的,以促进VS 2010和VS 2012之间的项目共享。一个缺点;在构建.csproj时,您需要指定此属性的值。在构建解决方案文件时,可以从解决方案文件版本派生该值。更多信息请访问我的博客http://sedodream.com/2013/01/06/CommandLineWebProjectPublishing.aspx