80

我一直使用 Visual Studio 2012 RC 将我的 Lightswitch 应用程序发布到我的本地主机(Win 7、SQL 2008 R2、IIS 7.5)就好了。现在我正在尝试发布到远程服务器(Win 2008 R2、SQL 2008 R2、IIS 7.5),但遇到了麻烦。

当我尝试发布时,我收到以下错误:

Web 部署任务失败。(无法使用指定的进程(“Web 部署代理服务”)连接到远程计算机(“###.###.###.###”),因为服务器没有响应。请确保进程(“Web 部署代理服务”)在远程计算机上启动。了解更多信息:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC 。)

我已经检查了“了解更多”链接建议检查的每一件事。我已经验证 MsDepSvc 和 WMSVC 都在运行,并且端口 80 和 8172 都在响应端口扫描。在发布设置中,对于服务 URL,我使用远程计算机的 IP 地址 ( http://###.###.###.### )。对于用户名,我使用的是 DomainName\Administrator,这是我使用 RDP 登录时使用的名称。

我在MSDN 论坛上发帖,其中一位成员建议我将 Web 部署工具从 V2.0 回滚到 V1.1。我已经完成了,但它没有改变任何东西。

按照这个SO Question的答案中的建议,我尝试msdeploy从命令行运行。

服务器上的命令行我得到:

C:\Program Files\IIS\Microsoft Web 部署>msdeploy -verb:dump -source:dirpath=c:\temp,computername= http://SeverName:80/msdeployagentservice,username=Administrator,password=XXXX -verbose -debug详细:使用 ID 'c12c3392-2290-44b7-9434-dbd0ff5f9385' 连接到远程服务器。详细:以“管理员”身份对远程代理 URL“ http://ServerName:80/msdeployagentservice ”进行预身份验证。MSDeploy.dirPath (name=MSDeploy.dirPath) c:\temp (name=dirPath) (keyAttribute=c:\temp) (linkName=Child1)

开发机器上的命令行我得到:

C:\Program Files\IIS\Microsoft Web Deploy V3>msdeploy -verb:dump -source:dirpath =c:\temp,computername= http://###.###.###.###: 80/msdeployagentservice,username=Administrator,password=XXXX -verbose -debug 信息:使用 ID '7f0b7d5b-e202-424c-a7dd-246920253081' 连接到远程服务器。详细:以“管理员”身份对远程代理 URL“ http://###.###.###.###:80/msdeployagentservice ”进行预身份验证。详细:预验证远程代理 URL ' http://###.###.###.###:80/msdeployagentservice'作为'管理员'。错误代码:ERROR_COULD_NOT_CONNECT_TO_REMOTESVC 更多信息:无法使用指定的进程(“Web 部署代理服务”)连接到远程计算机(“###.###.###.###”),因为服务器没有回应。确保进程(“Web 部署代理服务”)已在远程计算机上启动。了解更多信息:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC 。了解更多信息:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC. ---> Microsoft.Web.Deployment.DeploymentException:无法创建“dirPath”类型和路径“c:\temp”的对象。---> System.Net.WebException:远程服务器返回错误:(400)错误请求。在 System.Net.HttpWebRequest.GetResponse() 在 Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse(HttpWebRequest request) --- 内部异常堆栈跟踪结束 --- --- 内部异常堆栈跟踪结束 --- 在 Microsoft .Web.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext, DeploymentBaseOptions baseOptions, DeploymentObject sourceObject, String serverVersion) 在 Microsoft.Web.Deployment.DeploymentManager.CreateObject(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions) 在 MSDeploy.MSDeploy。
在 MSDeploy.MSDeploy.Main(String[] usedArgs) 错误计数:1。

使用 Wireshark,我发现我可以正常登录,但在POST /MSDEPLOYAGENTSERVICE出现错误 400:错误请求后,如下所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">\r\n
<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>\r\n
<BODY><h2>Bad Request - Invalid Content Length</h2>\r\n
<hr><p>HTTP Error 400. There is an invalid content length or chunk length in the request.</p>\r\n
</BODY></HTML>\r\n

我能找到的唯一提到此特定行为的是Microsoft 支持ISA Server 2000 的文章。

我还应该看什么?

4

32 回答 32

94

当我使用“Web Platform Installer 5.0”安装 Web Deploy 3.5 时,我遇到了同样的问题

当我尝试从 Visual Studio 发布时,出现此错误:

---------------------------
Microsoft Visual Studio
---------------------------
Could not connect to the remote computer ("10.0.3.102") using the specified process 
("Web Management Service") because the server did not respond. Make sure that the process 
("Web Management Service") is started on the remote computer.  Learn more at: 
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC. 
The remote server returned an error: (403) Forbidden.
---------------------------
OK   
---------------------------

我仔细检查了服务,两者都在运行。我也关闭了防火墙,仍然是同样的错误。

我是如何解决这个问题的:

  1. 打开“添加或删除”程序
  2. 单击“Microsoft Web 部署”
  3. 单击“更改”按钮(“卸载”除外)
  4. 点击“下一步”

在此处输入图像描述

  1. 点击“更改”

在此处输入图像描述

  1. 添加标记为红色 X 的功能

在此处输入图像描述

  1. 完成安装

    结果:从 Visual Studio 发布工作正常

于 2014-10-08T10:10:57.050 回答
66

我昨天遇到了这个。在我的场景中,它完全归结为它要求Site Name:我提供的发布设置MyApplication。当它真的希望我提供:

Default Web Site/MyApplication

我向 Microsoft 部署团队提出了这个问题,因此希望他们能够清楚地说明,如果您不指定现有站点名称,那么 Web 部署服务器不会像您所想的那样死机。

于 2013-05-31T15:01:53.113 回答
12

我遇到了同样的问题,并通过删除程序文件(x86)\IIS 和 Program Files\IIS 中的所有 Web 部署文件夹来解决它。

之后,我重新安装了没有捆绑 SQL 的 web deploy 1.1 和 web deploy 3.0。

于 2012-11-27T09:51:16.967 回答
9

使用来自多个论坛和答案的信息,我终于设法安装了 Microsoft 的 Web Deploy,我可以使用它成功地从 Visual Studio 发布(在没有激活防火墙的情况下进行测试):

  1. 使用服务器管理器中的“添加角色功能”为 IIS 安装“管理服务”
  2. 安装 Web 部署(重要提示:“完成”并在安装“管理服务”之后) http://www.iis.net/downloads/microsoft/web-deploy#additionalDownloads

  3. 确保在服务器级别的 IIS 中

    • 打开“管理服务”
    • 允许 Windows 和 IIS 凭据
  4. 在站点级别的 IIS 中
    • 打开“IIS 管理器权限”
    • 添加用于实际发布的用户,例如管理员

如果防火墙处于活动状态:启用“文件共享”和“远程服务管理”

于 2016-07-20T14:44:04.620 回答
7

为了解决这个问题,我使用了以下步骤:服务器:WS2012。DEV Vs2012 项目 MVC4。

1) 在需要名称的服务器上创建空站点,或者在发布时使用“默认网站”,如果您没有将默认值重命名为其他名称。

我使用了此链接中的信息

在使用 WPI 的服务器上安装以下

为托管服务器安装 Web Deploy (3.5)

为 Web 托管服务提供商推荐的服务器配置

我确保没有安装其他版本

所以验证您正在使用的站点名称....我使用 AdminUI。这是在测试服务器上创建的空站点

站点名称很重要。

所以在使用向导时,匹配站点名称

发布向导

确保相关服务正在服务器上运行。并且您有足够的权限写入网站

服务

于 2013-08-02T03:33:10.037 回答
6

我已经设法通过重新启动 Web 管理服务在我的服务器上解决了这个问题

于 2014-03-11T07:46:18.967 回答
4

Chris 说的是:“当它真的希望我提供‘默认网站/我的应用程序’时。” 实际单词“默认网站”,而不是您的服务器的名称。

我也有这个,花了几个小时把我的头撞在墙上,直到我尝试这个。(谢谢克里斯!)

FWIW,我使用的是默认网站的名称(服务器名称),而不是您显然必须使用的“默认网站”一词。有点蹩脚,但至少我现在知道了。

于 2013-07-17T15:41:34.097 回答
3

检查管理服务是否有任何 IP 地址限制也是一个好主意 - 这些限制与 Windows 防火墙是分开的。

窗口管理服务

于 2018-03-07T01:57:55.420 回答
2

我有同样的问题。最后通过在服务 URL 中更改为 https 来解决它。

于 2012-11-28T08:20:16.743 回答
1

Web 部署任务失败。(无法连接到远程计算机。)

就我而言,我不得不重新启动远程机器上的 Web 部署代理服务。

于 2015-04-24T15:47:15.617 回答
1

ERROR_COULD_NOT_CONNECT_TO_REMOTESVC今天也浪费了几个小时来处理这个错误(),有趣的是我能够使用构建的 gui 进行部署Properties/PublishProfiles/<Profile>.pubxml(通过right click on project -> Publish... -> create via wizard)。

然而,就我而言,我不小心弄乱了这个<DeployIisAppPath>属性。这需要指向SiteName而不是ApplicationPool/SiteName。这是我*.csproj文件中的完整块:

<Project ...>
...
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DEV-Deploy|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <DeployIisAppPath>HERE GOES THE SITE NAME ONLY</DeployIisAppPath>
  </PropertyGroup>
...
</Project>

因此,如果您将 SiteName 配置为 Foo,则该配置块的最后一部分将是<DeployIisAppPath>Foo</DeployIisAppPath>.

此外,IIS 站点上有关错误代码的全部信息从未真正有帮助。

于 2013-09-19T14:49:23.147 回答
1

我在这里尝试了所有其他流行的解决方案,但没有一个对我有用。 : (

我首先安装了“ Web Deploy 3.6 without bundled SQL support ”。
然后是“ Web 托管服务提供商的推荐服务器配置”。
我想,“我不需要所有的 SQL 支持”。
我无法通过 Visual Studio 发布配置文件上的“验证连接”,而没有看到与上述提问者文档相同的错误。

我在某处读到卸载和重新安装 Web Deploy 将如何修复它,所以我打开“程序和功能”,找到“ Microsoft Web Deploy 3.6 ”,然后将其卸载。
它给了我关于其他人连接到系统的警告,但我很绝望。

卸载后,我打开IIS,点击我的服务器节点,然后在“管理”部分下打开“ Web Platform Installer ”,这次安装了“ Web Deploy 3.6 ”(这是我通常安装的,而不是没有SQL的那个)支持)。
然后我终于能够通过 Visual Studio 验证来自本地计算机的连接。

它可能与我安装的 Web Deploy 版本无关。
我读到这些东西对安装这些工具和建议的顺序有多么挑剔。
我认为这是因为做了一些不正常的事情(比如在 Web 部署之后安装推荐的服务器配置,而不是事先安装),但现在一切都很好。

以下是在 IIS 8.0 上安装 Web Deploy 时需要遵循的一些有用说明的链接:
https ://docs.microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy -on-iis-80 或更高版本

于 2018-04-17T13:03:17.490 回答
1

AWS EC2 实例上的同样问题。

  1. 导航到EC2 实例,选择相应的实例并在描述部分复制安全组名称

在此处输入图像描述

  1. 导航到安全组并选择相应的安全组,如果缺少,请添加以下输入规则

在此处输入图像描述

于 2017-09-17T15:13:56.457 回答
1

我有另一种情况,这突然停止为我工作。

这是因为我在管理服务中指定了 IP 地址限制,而我的 ISP 为我分配了一个新 IP。我忘了我指定了。

  1. 打开 IIS 管理器
  2. 单击左侧树中的服务器名称
  3. 在功能视图中,选择“管理服务”
  4. 停止右侧面板上的管理服务
  5. 在 IP 地址限制下添加新 IP 并删除旧 IP
  6. 应用更改并再次启动服务
  7. 使用以下步骤更新服务器文档的故障排除部分 :)
于 2015-09-19T21:25:10.887 回答
1

请安装最新版本的 Microsoft Web 部署工具。您可以使用以下链接。 https://www.iis.net/downloads/microsoft/web-deploy

于 2017-08-17T15:27:31.193 回答
1

我在Visual Studio 2022.

错误 Web 部署任务失败。(无法连接到远程计算机(“<>.scm.azurewebsites.net”)。确保在远程计算机上安装了 Web Deploy 并启动了所需的进程(“Web 管理服务”)。了解更多在: https://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE。)请求的资源不存在,或者请求的 URL 不正确。错误详细信息:无法连接到远程计算机(“<>.scm.azurewebsites.net”)。在远程计算机上,确保安装了 Web Deploy 并且启动了所需的进程(“Web 管理服务”)。了解更多信息: https ://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE. 远程服务器返回错误:(404) Not Found。Intranet.Hub.Admin

真正的问题是我在创建 Web 应用程序后立即开始发布。因此,在从 Azure Web 应用程序下载发布配置文件并将其上传到 Visual Studio 之前,最好等待几分钟。

如果您仍然遇到同样的问题,请将 Application settings 的值更改WEBSITE_WEBDEPLOY_USE_SCMfalse,下载发布配置文件,将其上传到 Visual Studio,然后发布。

您还可以将Web 部署部署为 Azure Web 应用程序中的站点扩展。我无法做到这一点,因为我使用的是 Linux Azure Web 应用程序,站点扩展选项是灰色的。该功能尚未为 Linux 提供

在此处输入图像描述

于 2021-09-07T15:14:31.663 回答
1

这个错误ERROR_COULD_NOT_CONNECT_TO_REMOTESVC花了我两天时间才弄清楚,就我而言,站点名称不匹配。远程 IIS 服务器上的站点名称与我在 Visual Studio 中为部署设置的站点名称不同。我希望它可以帮助某人

于 2019-10-25T08:56:15.783 回答
1

我有类似的问题“ERROR_COULD_NOT_CONNECT_TO_REMOTESVC”,我去了 IIS -> 您的网站 -> 高级设置,发现“物理路径凭据”中有我的用户名。我将其删除,并且 wed 部署开始工作。

还要确保从 VS 部署时,在下一个字段中使用没有端口号和站点名称的“localhost”。

我放了端口,它也因ERROR_DESTINATION_NOT_REACHABLE而失败。

于 2018-06-09T19:53:40.330 回答
1

确保允许到端口 8172 的流量。在我的 NSG 上添加入站规则解决了它。

在此处输入图像描述

于 2018-06-13T06:11:13.297 回答
0

Also, ensure the Remote Procedure Call (RPC) Locator service is started.

于 2013-07-22T18:54:32.737 回答
0

从 Visual Studio 2013 中的向导发布时,我通过在站点名称文本框中输入“默认网站”一词解决了这个问题

于 2014-12-19T03:08:08.517 回答
0

I also got this working by uninstalling all Web Deploys, and then only install Web Deploy 2.0.

于 2013-05-15T12:29:40.417 回答
0

只需从http://SeverName:80/msdeployagentservice中删除 http:// 。也尝试只使用 ServerName。我遇到了这个问题,只需删除 http://

于 2015-05-08T18:28:22.697 回答
0

我在visual studio的连接窗口中设置了在iis的Config Web Deploy中使用的用户名和密码,它对我来说很好......

于 2015-06-30T11:48:30.223 回答
0

就我而言,未安装 Web 部署工具。在 Web 平台安装程序中安装它后,它为我工作。

于 2020-01-30T10:46:39.140 回答
0

我已经尝试了大多数建议的答案,但没有解决问题。但是,这是我的解决方案:

1-关闭 FTP 连接(如果有)

2-使用更快的连接,使用慢速 wifi 会导致此问题

于 2020-12-16T12:48:27.433 回答
0

检查 TLS 不匹配。我们使用 SchUseStrongCrypto 注册密钥在一台机器上强制使用 TLS 1.2,而不是在另一台机器上。在此处记录更多详细信息https://fuseit.zendesk.com/hc/en-us/articles/360000328595

于 2018-07-12T03:25:18.420 回答
0

还要确保 IIS 中存在具有您在“站点名称”字段下提供的名称的网站。

于 2020-01-18T08:46:14.717 回答
0

显然对我有用的只是重新启动我的视觉工作室/重新启动我的计算机并通过重新发布我的网络应用程序来重新部署。

于 2015-12-06T05:04:21.940 回答
0

我在尝试将网站发布到 azure app 服务时遇到了同样的问题。
就我而言,我为一个新网站创建了一个虚拟路径,出于某种与主题无关的原因,我从应用服务中删除了该虚拟路径。
我再次创建了它,忘记了 Azure 门户中的新闻保存
结果是该错误,
当然,这是通过再次创建此虚拟路径而不忘记保存来解决的。

为了更清楚,最后一个虚拟路径不存在:
在此处输入图像描述

于 2020-04-24T14:41:34.633 回答
0

如果您已经安装了 web deploy,只需检查其相关服务是否正在运行

在此处输入图像描述

如果其中一个停止,您将收到此类错误

于 2022-02-18T09:12:21.477 回答
-1

我在发布一组选择性文件时遇到了同样的问题。我只是选择了所有要发布的文件,然后成功发布。

于 2018-03-01T05:29:47.670 回答