【问题标题】:VS2010 TFS Build Failure-Could not complete the request to remote agentVS2010 TFS Build Failure-无法完成对远程代理的请求
【发布时间】:2011-10-06 15:41:39
【问题描述】:

我在尝试从 VS2010 中运行构建时收到此错误。

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 Publish 本身中成功地进行 Web 部署

【问题讨论】:

    标签: visual-studio-2010 iis tfs iis-7.5


    【解决方案1】:

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

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

    【讨论】:

    • 1.有没有办法将 allowUntrusted 命令添加到 TFS 构建定义? 2. 它似乎与 http://[serverName] 一起工作(仅在 VS 发布 GUI 中)但不适用于([serverName] 和 Allow Untrusted)。我不确定它是我的本地机器还是 IIS 服务器没有正确配置 b/c,它似乎不喜欢使用 https
    • 好的,所以我在 TFS Build def 中添加了 /p:AllowUntrustedCertificate(这相当于前面提到的命令提示符的 -allowUntrusted arg - 感谢 Chris)。配置以及 /p:username 和 /p:password 到目前为止一切顺利...成功构建/发布...谢谢大家
    【解决方案2】:

    我很确定您需要仅为MSDeployServerUrl 选项指定一个主机名,或者为msdeploy 指定一个完整的URL。也就是说,要么:

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

    或:

    /p:MSDeployServiceUrl=[servername]
    

    后者会被翻译成https://[servername]:8172/msdeploy.axd。

    【讨论】:

    • 好的..所以至少现在它没有在错误中显示https://http//...但是你知道它为什么使用https吗?
    【解决方案3】:

    问题被打开已经有一段时间了,但我遇到了同样的问题,上面的答案并没有完全解决......

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

    /p:MSDeployServiceUrl=[servername]
    

    并将 MSDeployPublishMethod 更改为 RemoteAgent

    /p:MSDeployPublishMethod=RemoteAgent
    

    希望这对其他人有用。

    【讨论】:

      【解决方案4】:

      我使用 web 部署创建了一个发布配置文件并保存在 TFS 中,然后在我的 MSBuild Arguments 的构建定义中添加了这个:

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

      它对我有用。我还确保我的构建对已发布文件夹(虚拟目录)具有权限

      我还确保 Web 管理服务 和 Web 部署代理服务 正在我的 Web 服务器上运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-23
        • 2020-04-02
        • 2018-04-30
        相关资源
        最近更新 更多