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

时间:2011-03-23 17:56:38

标签: visual-studio-2010 iis-7 msbuild web-deployment

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

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

MSBuild命令:

MSBuild Projects =“[项目文件]”          属性=“DeployOnBuild = TRUE;          DeployTarget = MsDeployPublish;          CreatePackageOnPublish = TRUE;          MSDeployPublishMethod = WMSVC;          MSDeployServiceUrl = HTTP://本地主机:8172 / MsDeploy.axd;          DeployIisAppPath =默认网站/ [我的网站];          用户名= [用户名]。          密码= [口令]“> / MSBuild的

错误:

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

网址似乎以https为前缀,虽然我可以通过Visual Studio指定http并通过IDE成功发布,但无法指定http。

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

错误:

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

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

MSBuild命令:

MSBuild Projects =“[项目文件]”          属性=“DeployOnBuild = TRUE;          DeployTarget = MsDeployPublish;          CreatePackageOnPublish = TRUE;          MSDeployPublishMethod =是InProc;          MSDeployServiceUrl =本地主机;          DeployIisAppPath =默认网站/ [我的网站];          用户名= [用户名]。          密码= [口令]“> / MSBuild的>

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

错误:

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

MSBuild命令如下:

MSBuild命令:

MSBuild Projects =“[项目文件]”          属性=“DeployOnBuild = TRUE;          DeployTarget = MsDeployPublish;          MSDeployPublishMethod = RemoteAgent;          AllowUntrustedCertificated = TRUE;          MSDeployServiceUrl = HTTP://本地主机/ MsDeployAgentService;          DeployIisAppPath =默认网站/ [我的网站];          用户名= [用户名]。          密码= [口令]“> / MSBuild的>

我错过了什么?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

您可以尝试其中一些建议

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

2)IIS>服务器节点>管理服务代表团。 你有正确的设置吗?否则,您需要设置规则来部署内容,设置应用程序,部署数据库以及将用户添加到这些规则等内容。

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

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