我正在运行安装了 Web Deploy 2.0 的 Windows 7 和 IIS 7,并且“Web 管理服务”和“Web 部署代理服务”都已启动。
我正在尝试使用 MSBuild 将 Web 项目发布到远程 IIS 7 服务器,但是当我运行以下使用 MSDeployPublishMethod 发布方法的 MSBuild 命令时,它失败了:
MSBuild 命令:
MSBuild Projects="[项目文件]" 属性=“DeployOnBuild=真; DeployTarget=MsDeployPublish; CreatePackageOnPublish=真; MSDeployPublishMethod=WMSVC; MSDeployServiceUrl=http://localhost:8172/MsDeploy.axd; DeployIisAppPath=默认网站/[我的网站]; 用户名=[用户名]; 密码=[密码]"> /MSBuild
错误:
错误:无法完成对远程代理 URL 的请求 'https://http//localhost:8172/MsDeploy.axd?site=默认网站'。
虽然我可以通过 Visual Studio 指定 http 并通过 IDE 成功发布,但该 url 似乎以 https 为前缀并且无法指定 http。
当我将 URL 指定为 https://时,同样的错误仍然发生:
错误:
无法完成对远程代理 URL 的请求 'https://localhost:8172/MsDeploy.axd?site=默认网站'。
使用 InProc 的 MSDeployPublishMethod 运行 MSBuild 命令可在本地运行,但此选项不允许远程部署。
MSBuild 命令:
MSBuild Projects="[项目文件]" 属性=“DeployOnBuild=真; DeployTarget=MsDeployPublish; CreatePackageOnPublish=真; MSDeployPublishMethod=进程中; MSDeployServiceUrl=本地主机; DeployIisAppPath=默认网站/[我的网站]; 用户名=[用户名]; 密码=[密码]"> /MSBuild>
我也尝试过使用 RemoteAgent 的 MSDeployPublishMethod,但这会导致以下错误:
错误:
无法联系远程代理(URL http://localhost/MsDeployAgentService)。
确保在目标计算机上安装并启动了远程代理服务。
MSBuild命令如下:
MSBuild 命令:
MSBuild Projects="[项目文件]" 属性=“DeployOnBuild=真; DeployTarget=MsDeployPublish; MSDeployPublishMethod=远程代理; AllowUntrustedCertificated=真; MSDeployServiceUrl=http://localhost/MsDeployAgentService; DeployIisAppPath=默认网站/[我的网站]; 用户名=[用户名]; 密码=[密码]"> /MSBuild>
我错过了什么?
最佳答案
对于 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
关于visual-studio-2010 - 使用 MSBuild 将 Visual Studio 2010 Web 部署到远程服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409532/