9

在远程 Web 服务器上,我安装了远程服务http://xxxx/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

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

错误:(2010 年 10 月 5 日下午 3:52:02)在远程计算机上处​​理请求时发生错误。

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

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

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

4

2 回答 2

1

您要做的是运行 /obj/release/package 文件夹中的 [项目名称].deploy.cmd 文件。

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

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

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

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

于 2010-10-28T01:33:03.533 回答
0

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

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

于 2010-07-22T15:16:53.530 回答