2011-10-06 73 views
4

我尝试从VS2010内部运行构建时收到此错误。VS2010 TFS构建失败 - 无法完成对远程代理的请求

C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets (3588): Web deployment task failed.(Could not complete the request to remote agent URL 'https://http//[serverName]:8172/msdeploy.axd?site=Default Web Site'.) Could not complete the request to remote agent URL 'https://http//[serverName]:8172/msdeploy.axd?site=Default Web Site'. The remote name could not be resolved: 'http'

我不知道为什么它说:“https://开头的http // ......”
代码签入到远程服务器TFS。我在VS Team Explorer中创建了一个构建定义,这是我在尝试构建/发布项目时遇到的错误。上面的[servername]是我的项目发布到的IIS服务器。

这些都是MSBuild的参数:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=False 
/p:MSDeployPublishMethod=WMSVC 
/p:MSDeployServiceUrl=http://[serverName] 
/p:DeployIisAppPath="Default Web Site/[site/app Name]" 

任何人都遇到了同样的错误?
顺便说一句,我能够从做一个成功的网络部署中的VS发布本身

回答

6

爱德华解决了你的问题的第一部分。

关于https://部分,msdeploy默认以安全的方式进行操作。要关闭它,你必须使用-allowUntrusted命令。

为“轻”阅读: http://weblogs.asp.net/scottgu/archive/2010/09/13/automating-deployment-with-microsoft-web-deploy.aspx

http://forums.iis.net/t/1158582.aspx

+0

1.有没有办法将allowUntrusted命令添加到TFS构建定义中? 2.它似乎在http:// [serverName]中工作(仅在VS发布GUI中),但不与([serverName]和Allow Untrusted)一起工作。我不知道是否它的本地机器或IIS服务器没有配置正确的B/C它似乎不喜欢使用https – user897052

+0

好吧,所以我加了/ p:AllowUntrustedCertificate(这相当于前面提到的-allowUntrusted arg命令提示符 - 感谢Chris),TFS Build def。配置以及/ p:用户名和/ p:密码,到目前为止这么好...成功的构建/发布......谢谢你们 – user897052

4

我敢肯定,你要么需要指定只是主机名到MSDeployServerUrl选项,或完整URL msdeploy。也就是说,无论是:

/p:MSDeployServiceUrl=http://[servername]:8172/msdeploy.axd 

或:

/p:MSDeployServiceUrl=[servername] 

后者将被转换为https://[servername]:8172/msdeploy.axd

+0

ok ..至少现在它不会在错误中显示“https:// http //”......但是你知道它为什么使用https吗? – user897052

0

这已经有一段时间,因为要打开的问题,但我遇到了同样的问题,并没有得到充分解决上面的答案...

我需要改变的是从MSDeployServiceUrl删除协议

/p:MSDeployServiceUrl=[servername] 

和不断变化的MSDeployPublishMethod到RemoteAgent

/p:MSDeployPublishMethod=RemoteAgent 

希望这将是为别人有用。

0

我创建了使用Web部署发布配置文件,并保存在TFS,然后在参数的MSBuild我的生成定义添加此:

/p:DeployOnBuild=True;PublishProfile=Web_Dev_WebDeployProfile /p:AllowUntrustedCertificate=True /p:username=myusername /p:Password=mypassword 

它为我工作。我还确保我打造了许可所公布的文件夹(虚拟目录)

我也确保Web管理服务Web部署代理服务是我的Web服务器上运行。