Web部署任务失败。 无法连接…服务器没有响应

我一直在使用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 。)

我已经检查了“了解更多”链接build议检查的每一件事情。 我已经validationMsDepSvc和WMSVC都在运行,端口80和8172都对端口扫描作出响应。 在“发布”设置中,对于服务URL,我使用远程计算机的IP地址( http://###.###.###.### )。 对于用户名,我正在使用域名\pipe理员,这是我用来login使用RDP。

我已经在MSDN论坛上发布了一个成员的build议,我将Web部署工具从V2.0回滚到V1.1。 我已经做了,但没有任何改变。

在这个SO问题的答案之后,我试着msdeploy运行msdeploy

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

C:\ Program Files \ IIS \ Microsoft Web Deploy> 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 ”身份validation为“pipe理员”。 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,用户名= Administrator,密码= XXXX -verbose -debug信息:使用ID“7f0b7d5b-e202-424c-a7dd-246920253081”连接到远程服务器。 详细信息:以远程代理URL“ http://######.####### 80 / msdeployagentservice ”身份validation为“pipe理员”。 详细信息:以远程代理URL“ http://######.####### 80 / msdeployagentservice ”身份validation为“pipe理员”。 错误代码: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:无法创buildtypes为“dirPath”的对象和path“c:\ temp”。 —> System.Net.WebException:远程服务器返回一个错误:(400)错误的请求。 在System.Net.HttpWebRequest.GetResponse()在Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse(HttpWebRequest请求)—结束内部exception堆栈跟踪— —结束内部exception堆栈跟踪—在微软.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext,DeploymentBaseOptions baseOptions,DeploymentObject sourceObject,String serverVersion)在MSDeploy.MSDeploy.CreateObject(DeploymentProviderOptions providerOptions,DeploymentBaseOptions baseOptions)上的Microsoft.Web.Deployment.DeploymentManager.CreateObject(DeploymentProviderOptions providerOptions,DeploymentBaseOptions baseOptions) )在MSDeploy.MSDeploy.ExecuteWorker()在MSDeploy.MSDeploy.Execute()
在MSDeploy.MSDeploy.Main(String [] unusedArgs)错误计数:1。

使用Wireshark,我发现我正在login,但在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 

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

我还应该看什么?

我昨天遇到这个 在我的情况下,它完全归结为在要求Site Name:的发布设置Site Name:我提供了MyApplication 。 当它真的期待我提供:

 Default Web Site/MyApplication 

我带了一个微软部署团队,希望他们可以增加清楚,如果你不指定一个现有的网站名称,这不是Web部署服务器死了这个错误让你觉得。

当我使用“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 Deploy”
  3. 点击“更改”button(除了“卸载”)
  4. 点击“下一步”

在这里输入图像说明

  1. 点击“更改”

在这里输入图像说明

  1. 添加标有红色X的function

在这里输入图像说明

  1. 完成安装

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

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

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

要解决我使用这些步骤的问题:服务器:WS2012。 DEV Vs2012项目MVC4。

1)在需要名称的服务器上创build空白站点,或者在发布时使用“默认网站”(如果您尚未将默认网站重命名为其他内容)。

我在这个链接中使用了信息

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

安装Web部署(3.5)主机服务器

为虚拟主机提供商推荐的服务器configuration

我确定其他版本没有安装

所以validation您正在使用的网站名称….我使用AdminUI。 这是在testing服务器上创build的空白网站

网站名称很重要。

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

发布向导

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

服务

我已经设法通过重新启动Webpipe理服务来解决这个问题

什么克里斯说:“当真的期待我提供”默认网站/ MyApplication“。 实际的单词“默认网站”,而不是你的服务器的名称。

我也有这个,花了好几个小时在墙上敲打我的头,直到我尝试了这个。 (谢谢Chris!)

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

我今天也浪费了这个错误( 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> 

因此,如果您将SiteNameconfiguration为Foo,则该configuration块的最后一部分将是<DeployIisAppPath>Foo</DeployIisAppPath>

此外,在IIS网站的错误代码的整个信息从来没有真正的帮助。

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

就我而言,我必须重新启动远程框中的Web部署代理服务。

使用来自几个论坛和答案的信息我终于成功地安装了微软的Web Deploy我可以使用它从Visual Studio成功发布的方式(未经激活的防火墙testing):

  1. 在服务器pipe理器中使用“添加angular色function”安装IIS的“pipe理服务”
  2. 安装Web部署(重要:“完成”和安装“pipe理服务”之后) http://www.iis.net/downloads/microsoft/web-deploy#additionalDownloads

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

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

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

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

我也通过卸载所有Web部署得到这个工作,然后只安装Web Deploy 2.0。

此外,确保远程过程调用(RPC)定位器服务已启动。

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

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

我在Visual Studio的连接窗口中设置了用户名和密码,用于iis的configurationWeb部署 ,并且对我来说工作正常。

我又遇到了另外一个突然停止工作的情况。

这是因为我有一个pipe理服务中指定的IP地址限制,我的ISP给我一个新的IP。 我忘了我指定的。

  1. 打开IISpipe理器
  2. 点击左侧树中的服务器名称
  3. 在function视图中,select“pipe理服务”
  4. 停止右侧面板上的pipe理服务
  5. 在IP地址限制下添加新的IP,并删除旧的
  6. 应用更改并再次启动服务
  7. 使用以下步骤更新服务器文档的疑难解答部分:)

显然是什么对我来说只是重新启动我的视觉工作室/重新启动我的电脑,并通过重新发布我的Web应用程序重新部署。

我有同样的错误。 这是因为我configuration了一个在该networking中不存在的代理。

AWS EC2实例上的同样问题。

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

在这里输入图像说明

  1. 导航到“ 安全组”并select相应的安全组,然后添加以下input规则( 如果缺失)

在这里输入图像说明

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