3

我正在运行安装了 Web Deploy 2.0 的 Windows 7 和 IIS 7,并且“Web 管理服务”和“Web 部署代理服务”都已启动。

我正在尝试使用 MSBuild 将 Web 项目发布到远程 IIS 7 服务器,但是当我运行以下使用 MSDeployPublishMethod 发布方法的 MSBuild 命令时,它失败了:

MSBuild 命令:

MSBuild Projects="[项目文件]" Properties="DeployOnBuild=True; DeployTarget=MsDeployPublish; CreatePackageOnPublish=True; MSDeployPublishMethod=WMSVC; MSDeployServiceUrl=http://localhost:8172/MsDeploy.axd; DeployIisAppPath=Default Web Site/[my网站];用户名=[用户名];密码=[密码]">/MSBuild

错误:

错误:无法完成对远程代理 URL“https://http//localhost:8172/MsDeploy.axd?site=Default Web Site”的请求。

该 url 似乎以 https 为前缀,尽管我可以通过 Visual Studio 指定 http 并通过 IDE 成功发布,但无法指定 http。

当我将 URL 指定为 https:// 时,仍然会出现相同的错误:

错误:

无法完成对远程代理 URL“https://localhost:8172/MsDeploy.axd?site=Default Web Site”的请求。

使用 InProc 的 MSDeployPublishMethod 运行 MSBuild 命令可在本地工作,但此选项不允许远程部署。

MSBuild 命令:

MSBuild Projects="[项目文件]" Properties="DeployOnBuild=True; DeployTarget=MsDeployPublish; CreatePackageOnPublish=True; MSDeployPublishMethod=InProc; MSDeployServiceUrl=localhost; DeployIisAppPath=Default Web Site/[my website]; UserName=[username]; Password =[密码]"> /MSBuild>

我也尝试过使用 RemoteAgent 的 MSDeployPublishMethod 但这会导致以下错误:

错误:

无法联系远程代理(URL http://localhost/MsDeployAgentService )。
确保在目标计算机上安装并启动了远程代理服务。

MSBuild 命令如下:

MSBuild 命令:

MSBuild Projects="[项目文件]" Properties="DeployOnBuild=True; DeployTarget=MsDeployPublish; MSDeployPublishMethod=RemoteAgent; AllowUntrustedCertificated=True; MSDeployServiceUrl=http://localhost/MsDeployAgentService; DeployIisAppPath=Default Web Site/[my website]; UserName =[用户名];密码=[密码]"> /MSBuild>

我错过了什么?

4

2 回答 2

3

对于 IIS 7,请检查以下内容:

MSDeployPublishMethod=WMSVC 

MSDeployServiceUrl=localhost 

AllowUntrustedCertificate=True  -- Unless you have a valid certificate...

MSBuild Projects="[project file]" Properties="DeployOnBuild=True; DeployTarget=MsDeployPublish; CreatePackageOnPublish=True; MSDeployPublishMethod=**WMSVC**; MSDeployServiceUrl=**localhost**; DeployIisAppPath=Default Web Site/[my website]; UserName=[username]; Password=[password]; **AllowUntrustedCertificate=True**"> /MSBuild
于 2011-12-28T13:45:58.170 回答
2

你可以试试这些建议

1) MSBuild 将标志 -allowUntrusted (-allowUntrusted=True) 添加到您的 msbuild 命令中,因为默认的 wmsvc ssl 证书是 bonkers。先试试这个。

2) IIS > 服务器节点 > 管理服务委派。你设置正确了吗?否则,您需要设置规则来部署内容、设置应用程序、部署数据库并将用户添加到这些规则中。

3) IIS > 站点 > 默认网站 > IIS 管理器权限 您是否已将您的用户添加到此列表中?如果您没有此选项,请尝试再次运行 Web 部署工具安装程序。

4)文件/文件夹权限您是否在您的站点物理路径目录上设置了正确的权限?

于 2011-03-29T08:39:12.137 回答