Visual studio 2010 使用MSBuild将Visual Studio 2010 Web部署到远程服务器

Visual studio 2010 使用MSBuild将Visual Studio 2010 Web部署到远程服务器,visual-studio-2010,iis-7,msbuild,web-deployment,Visual Studio 2010,Iis 7,Msbuild,Web Deployment,我正在运行Windows 7和IIS 7,安装了Web Deploy 2.0,“Web管理服务”和“Web部署代理服务”都已启动 我试图使用MSBuild将web项目发布到远程IIS 7服务器,但运行以下使用MSDeployPublishMethod发布方法的MSBuild命令时失败: MSBuild命令: MSBuild Projects=“[project file]” Properties=“DeployOnBuild=True; DeployTarget=MsDeployPublish;

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

我试图使用MSBuild将web项目发布到远程IIS 7服务器,但运行以下使用MSDeployPublishMethod发布方法的MSBuild命令时失败:

MSBuild命令:

MSBuild Projects=“[project file]” Properties=“DeployOnBuild=True; DeployTarget=MsDeployPublish; CreatePackageOnPublish=True; MSDeployPublishMethod=WMSVC; MSDeployServiceUrl=http://localhost:8172/MsDeploy.axd; DeployIisAppPath=默认网站/[我的网站]; 用户名=[用户名]; 密码=[密码]“> /MSBuild

错误:

错误:无法完成对远程代理URL的请求 'https://http//localhost:8172/MsDeploy.axd?site=Default 网站'

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

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

错误:

无法完成对远程代理URL的请求 'https://localhost:8172/MsDeploy.axd?site=Default 网站'

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

MSBuild命令:

MSBuild Projects=“[project file]” Properties=“DeployOnBuild=True; DeployTarget=MsDeployPublish; CreatePackageOnPublish=True; MSDeployPublishMethod=InProc; MSDeployServiceUrl=localhost; DeployIisAppPath=默认网站/[我的网站]; 用户名=[用户名]; 密码=[密码]“> /MSBuild>

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

错误:

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

MSBuild命令如下所示:

MSBuild命令:

MSBuild Projects=“[project file]” Properties=“DeployOnBuild=True; DeployTarget=MsDeployPublish; MSDeployPublishMethod=远程代理; AllowUntrustedCertificated=True; MSDeployServiceUrl=http://localhost/MsDeployAgentService; DeployIisAppPath=默认网站/[我的网站]; 用户名=[用户名]; 密码=[密码]“> /MSBuild>


我遗漏了什么?

你可以试试这些建议

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

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

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

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

对于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

请大家注意,在传入Web部署操作设置时,不能使用“=”(等于)。必须使用“:”(冒号),例如-allowUntrusted=true必须是-allowUntrusted:true。我简直不敢相信doco的所有用法都是错的。我很幸运地发现了这一点。这里的官方(不正确)文档:我正在使用IIS8.5,并将MsDeployPublishMethod设置为WMSVC,这对我很有用。