【问题标题】:Web Deploy to Server with MSBuild使用 MSBuild 将 Web 部署到服务器
【发布时间】:2013-01-09 07:29:26
【问题描述】:

我在 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 中发生的事情)?

【问题讨论】:

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


    【解决方案1】:

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

    /p:VisualStudioVersion=11.0
    

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

    【讨论】:

    • 有点相关,我收到以下错误...“错误 MSB4044:“ConcatFullServiceUrlWithSiteName”任务没有为所需参数“SiteAppName”指定值。想法?
    • @FlyingMaverick- 我遇到了同样的事情,并在这里发布了我的解决方案:stackoverflow.com/questions/18152391/…
    猜你喜欢
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多