如何使用VS2010一键式发布(MsDeploy)从命令行远程部署?

时间:2010-05-10 06:49:04

标签: asp.net command-line publish oneclick msdeployserviceagent

在远程Web服务器上,我安装了远程服务http://x.x.x.x/MsDeployAgentService

如果我在VS2010中使用Web应用程序项目的发布命令,我可以成功发布到此远程Web服务器并更新特定的IIS网站。

我现在要做的是从命令行执行此功能。

我猜这是两个步骤。首先使用相关的构建配置构建Web应用程序项目:

msbuild "C:\MyApplication\MyWebApplication.csproj" 
        /T:Package /P:Configuration=Release

然后发出MsDeploy命令以使其与删除IIS服务器一起发布/同步:

msdeploy -verb:sync  
         -source:package="C:\MyApplication\obj\Release\Package\MyWebApplication.zip" 
         -dest:contentPath="My Production Website",
          computerName=http://x.x.x.x/MsDeployAgentService,
          username=adminuser,password=adminpassword

不幸的是我得到了一个错误:

  

错误:(10/05/2010 3:52:02 PM)在远程计算机上处​​理请求时发生错误。

     

错误:源(sitemanifest)和目标(contentPath)与给定操作不兼容。错误计数:1。

我为目的地提供者尝试了许多不同的组合但没有快乐:(

有没有人设法从命令行复制VS2010 Web应用程序项目“One Click”发布?

2 个答案:

答案 0 :(得分:1)

您要做的是在/ obj / release / package文件夹中运行[project name] .deploy.cmd文件。

首先,在Visual Studio中,转到项目属性页面,然后转到“打包/发布Web”设置,选择“发布”配置,然后在“IIS网站/应用程序名称”设置中定义内容路径。

现在运行完全相同的MSBuild脚本,它将使用/ obj / release / package / [project name] .SetParameters.xml文件中定义的内容路径创建包。

最后一步是在/ obj / release / package文件夹中运行[project name] .deploy.cmd / Y /M:http://x.x.x.x/MsDeployAgentService。

这将使用所有适当的参数调用MSDeploy。

答案 1 :(得分:0)

按照本文正确配置IIS服务器上的Web部署处理程序。

http://learn.iis.net/page.aspx/516/configure-the-web-deployment-handler/

相关问题