Visual Studio 2010 Web部署任务失败

时间:2010-05-31 22:53:15

标签: visual-studio visual-studio-2010 web-deployment-project

我正在尝试使用VS2010的1-Click Publish功能将测试站点从我的笔记本电脑部署到我的服务器。我在两台计算机上都关闭了防火墙,并且我的笔记本电脑和服务器上都启动并运行了MS部署服务。

然而,当我尝试在我的笔记本电脑上从VS2010发布时,我收到以下错误:

  

错误1 Web部署任务失败。(无法联系远程代理(URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest)。确保在目标计算机上安装并启动了远程代理服务。)

  请求的资源不存在,或者请求的URL不正确   错误详情:
  无法联系远程代理(URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest)。确保在目标计算机上安装并启动了远程代理服务   收到了不受支持的回复。响应标题'MSDeploy.Response'是''但是'v1'是预期的   远程服务器返回错误:(404)Not Found。 0 0 Test.Web

知道我在这里做错了吗?

15 个答案:

答案 0 :(得分:72)

重新启动visual studio

在运行IIS 7.5的服务器上成功部署WebApp之后,我曾经有过几次这样的问题。显然,由于在出现此错误之前在服务器上成功完成了部署/发布,因此在服务器设置/配置上可能出现的问题很少(除非先前成功部署出现了可怕的错误并删除了一些配置参数服务器)。

重新启动服务器后,检查Web管理服务和Web部署服务是否正常运行,并从cUrl工具验证MsDeploy.axd的GET成功,只剩下一件事要做。重新启动Visual Studio。神奇地重新启动VS发布再次开始工作。一切都靠自己。神奇的东西,这个Web部署:)

答案 1 :(得分:39)

确保将WMSvc服务(Web管理服务)设置为“自动”(并启动),以便在重新启动时启用它。看看这个link

答案 2 :(得分:18)

确保您已在发布配置文件中正确设置了网站/应用程序: Publish profile dialog in Visual Studio 2010

如果拼写错误的网站或应用程序名称,则会收到相同的错误消息。

答案 3 :(得分:13)

虽然许多不同的不相关的东西可以帮助获得404,但我为我解决了它。

  1. 安装/重新安装WebDeploy安装程序时,选择“自定义/更改”,然后确保“管理服务委派UI”是已安装选项之一,默认情况下不会安装,但WebDeploy必须运行(安装程序错误)
  2. 使用IIS管理器的“服务器”节点中的新“管理服务委派”图标添加“部署具有内容的应用程序”角色,并接受其默认设置。但是,您可能还希望为具有修改IIS设置权限的用户指定“运行方式”设置。
  3. 重新启动Web管理服务。
  4. 在此之后,一切正常。假设Web管理服务设置正确(我的配置为接受远程连接,防火墙端口已打开,我上传的用户已添加到我要部署到的每个站点(使用IIS管理器权限图标)在IIS管理器中的每个站点节点中)。

答案 4 :(得分:11)

我们发现问题是因为在在Windows 2008服务器上启用了Web管理服务功能之前安装了 WebDeploy。安装Web管理服务后,完全卸载Web Deploy。然后resinstall并确保选择包的所有组件。

重新安装后,我们立即可以从本地计算机以及CI中发布到服务器。

阅读其他答案后需要注意几点:

  • 如果您收到404错误,则问题不是安全问题。
  • 我们无需重新启动Visual Studio即可使此更改生效。
  • 重新安装将以自动模式启动服务,请勿使用此设置。

答案 5 :(得分:4)

当我更改使用“Windows管理服务”的“服务URL”时,我能解决同样的问题:

https://ExampleURL:8172/msdeploy.axd?site=SiteName

使用“远程代理服务”代替:

http://ExampleURL

之后它运作得很好。

答案 6 :(得分:2)

我收到此错误是因为我更改了密码。部署向导仍然保存了我的旧密码,重新输入密码后,现在一切正常。

答案 7 :(得分:2)

我已经安装了几个网络服务器并且我一直在解决这个问题,所以我在这里发布我的答案,以便在我解决问题时找到它。

基本上我总是从Web平台安装程序安装Web Deploy 3。这是第一个错误。出于某种原因,这只能安装你需要的一半东西。如果已安装此文件,请将其卸载并下载Web Deploy安装程序。然后选择“完成”安装。

如果您关注this guide

然后忽略选项1。 It's a trap

从“ 2开始阅读。下载Web Deploy安装程序......

答案 8 :(得分:1)

愚蠢的我,我没有在服务器上安装.NET 4

答案 9 :(得分:1)

我从IE浏览器获得404来自https:// servername:8172 / MsDeploy.axd

但Chrome并没有制造麻烦。

这可能是第一个测试您是否可以访问服务器上的Web管理服务的测试。 换句话说:当chome工作时(它以空白页面响应),那么你就可以了解服务器上的服务。

您还需要获得部署到特定网站的权限。在IIS中找到该站点并在“管理”下的“IIS管理器权限”中执行此操作。

答案 10 :(得分:0)

从Visual Studio 2010发布项目时,几乎随机发生同样的消息。

修复是删除$projectname.Publish.xml文件(在项目的根目录中)并重新创建它。

答案 11 :(得分:0)

如果您使用的是SSL证书,则应进入服务器管理器的IIS管理器部分下的管理服务并停止服务,选择正确的证书,然后再次启动该服务。这对我有用(我收到了禁止的消息)。

答案 12 :(得分:0)

像假人一样,这个错误对我而言是因为我没有安装远程Web代理作为Web部署工具的一部分 here

答案 13 :(得分:0)

即使安装了所有必需的软件,我也有类似的错误。我注意到服务URL没有以http://为前缀。一旦加上前缀就可以了。

答案 14 :(得分:0)

我从VS 2013得到了类似的错误,并找到了一个我没有看到任何其他答案的修复。

<强>错误:

  • 基础连接已关闭
  • 无法从传输连接读取数据:远程主机从构建服务器(TFS 2010)强制关闭现有连接。

<强>修正:

我的案例中的修复是在目标上重新启用TLS 1.0。这是一个注册表项,但我正在使用免费的IISCrypto applet。