我使用Visual Studio 2012 RC将我的Lightswitch应用程序发布到我的localhost(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 Forums,其中一位成员建议我将Web部署工具从V2.0回滚到V1.1。我已经完成了,但它没有改变任何东西。
根据对此SO Question的回答中的建议,我尝试从命令行运行msdeploy
。
从 服务器上的命令行 ,我得到:
C:\ Program Files \ IIS \ Microsoft Web Deploy> msdeploy -verb:dump -source:dirpath = C:\ TEMP,计算机名= 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”连接到远程服务器。详细:预先认证到 远程代理网址“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的 请求)---内部异常堆栈跟踪结束--- ---结束 内部异常堆栈跟踪--- at Microsoft.Web.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext,DeploymentBaseOptions baseOptions,DeploymentObject sourceObject,String serverVersion)at Microsoft.Web.Deployment.DeploymentManager.CreateObject(DeploymentProviderOptions providerOptions,DeploymentBaseOptions baseOptions)at MSDeploy.MSDeploy.CreateObject(DeploymentProviderOptions providerOptions,DeploymentBaseOptions baseOptions)at MSDeploy.MSDeploy.Execute()的MSDeploy.MSDeploy.ExecuteWorker()
at MSDeploy.MSDeploy.Main(String [] unusedArgs)错误计数: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
我唯一能找到这个特定行为的是ISA Server 2000的Microsoft Support Article。
我还应该注意什么?
答案 0 :(得分:62)
当我使用&#34; Web平台安装程序5.0&#34;
安装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
---------------------------
我仔细检查了服务,两者都在运行。我也关闭了防火墙,仍然是同样的错误。
我是如何解决这个问题的:
完成安装
结果:从Visual Studio发布正在运行
答案 1 :(得分:56)
Site Name:
我提供MyApplication
。当它真的希望我提供:
Default Web Site/MyApplication
我提到了Microsoft部署团队,所以希望他们可以更清楚地说明,如果您没有指定现有的站点名称,那么Web部署服务器就不会像这个错误让您思考的那样死机。
答案 2 :(得分:11)
我遇到了同样的问题,通过删除程序文件(x86)\ IIS和Program Files \ IIS中的所有Web部署文件夹解决了这个问题。
之后我重新安装了web deploy 1.1和web deploy 3.0,没有捆绑的SQL。
答案 3 :(得分:6)
要解决问题,我使用了以下步骤: 服务器:WS2012。 DEV Vs2012 项目MVC4。
1)在需要名称的服务器上创建空站点,或者在发布时使用“默认网站”,如果您尚未将默认值重命名为其他内容。
I used information in this link
在使用WPI的服务器上安装以下
为托管服务器安装Web Deploy(3.5)
适用于虚拟主机提供商的推荐服务器配置
我确定未安装的其他版本
所以验证您正在使用的站点名称....我使用AdminUI。 这是在测试服务器上创建的空站点
因此,在使用向导时,请匹配站点名称
确保服务器上的相关服务正在运行。 并且您拥有足够的权限来写入网站
答案 4 :(得分:4)
我已设法通过重新启动Web管理服务来修复此问题
答案 5 :(得分:3)
Chris说:“当它真的希望我提供”默认网站/ MyApplication“时。”实际的单词“默认网站”,而不是服务器的名称。
我也有这个,花了好几个小时把头撞在墙上,直到我试了这个。 (谢谢克里斯!)
FWIW,我使用的是默认网站的名称(服务器名称)而不是“默认网站”这个词,这显然是你必须使用的。有点蹩脚,但至少我现在知道了。
答案 6 :(得分:2)
我遇到了同样的问题。最后通过在服务URL中更改为https来解决它。
答案 7 :(得分:2)
使用来自多个论坛和答案的信息,我终于成功安装了Microsoft的Web部署,以便我可以使用它成功从Visual Studio发布(在没有激活防火墙的情况下进行测试):
安装Web部署(重要:“完成”并在安装“管理服务”之后) http://www.iis.net/downloads/microsoft/web-deploy#additionalDownloads
确保在服务器级别的IIS中
如果防火墙处于活动状态:启用“文件共享”和“远程服务管理”
答案 8 :(得分:1)
答案 9 :(得分:1)
答案 10 :(得分:1)
确保允许到端口8172的流量。 在我的NSG上添加入站规则解决了它。
答案 11 :(得分:1)
Web部署任务失败。 (无法连接到远程计算机。)
在我的情况下,我不得不重新启动远程控制台上的Web部署代理服务。
答案 12 :(得分: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 Site for error codes上的所有信息都没有真正帮助过。
答案 13 :(得分:0)
还要确保IIS中的网站以您在“站点名称”字段下提供的名称存在。
答案 14 :(得分:0)
这个错误ERROR_COULD_NOT_CONNECT_TO_REMOTESVC
使我花了两天时间才能弄清我的情况,该站点名称不匹配。远程IIS服务器上的站点名称与我在visual Studio中为部署设置的站点名称不同。希望对您有所帮助
答案 15 :(得分:0)
检查TLS不匹配。我们使用SchUseStrongCrypto reg注册表项强制在一台计算机上而非另一台计算机上使用TLS 1.2。在https://fuseit.zendesk.com/hc/en-us/articles/360000328595
上发布了更多详细信息答案 16 :(得分:0)
在我的情况下,未安装Web部署工具。在Web Platform Installer中安装后,对我有用。
答案 17 :(得分:0)
我有类似的问题“ERROR_COULD_NOT_CONNECT_TO_REMOTESVC”,我去了IIS - &gt;您的网站 - &gt;高级设置,发现我的用户名在“物理路径凭据”中。我删除了它,结合部署开始工作。
还要确保从VS部署时使用“localhost”而不在下一个字段中显示端口号和站点名称。
我放了端口,它也失败了ERROR_DESTINATION_NOT_REACHABLE。
答案 18 :(得分:0)
在尝试发布网站以使用Azure应用服务时遇到了相同的问题。
就我而言,我已经为新网站创建了虚拟路径,出于某种原因,该主题与我从应用服务中删除该虚拟路径的主题无关。
我再次创建了该虚拟路径但是< / strong>忘记了Azure门户中的保存。
结果是该错误,
当然可以通过再次创建此虚拟路径来解决,而不必忘记保存。
为了更清楚,最后一个虚拟路径不存在:
答案 19 :(得分:0)
我在这里尝试了所有其他流行的解决方案,但没有一个适合我。的 (适用
我先安装了“ Web Deploy 3.6没有捆绑的SQL支持 ”。
然后 “ 推荐的虚拟主机提供商服务器配置 ”。
我想,“我不需要所有SQL支持”
我无法通过我的Visual Studio发布配置文件中的“验证连接”而没有看到上述提问者文档中的相同错误。
我在某处读到了卸载和重新安装Web Deploy如何修复它,因此我打开了“程序和功能”,找到了“ Microsoft Web Deploy 3.6 < / strong>“,然后将其卸载。
它给了我关于其他人与系统连接的警告,但我很绝望。
卸载后,我打开IIS,点击我的服务器节点,然后在“管理”部分打开“ Web平台安装程序”并安装“ 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-or-later
答案 20 :(得分:0)
我尝试了大多数建议的答案,但没有解决问题。但是,这是我的解决方案:
1-关闭FTP连接(如果有)
2-使用较快的连接,使用较慢的wifi会导致此问题
答案 21 :(得分:0)
我只需要启动Web部署代理服务。出于某种原因,它并没有自动启动。
答案 22 :(得分:0)
请安装最新版本的Microsoft Web Deployment Tool。 您可以使用以下链接。 https://www.iis.net/downloads/microsoft/web-deploy
答案 23 :(得分:0)
我有同样的错误。这是因为我配置了一个在该网络中不存在的代理。
答案 24 :(得分:0)
显然对我有用的只是重新启动我的可视工作室/重新启动计算机并通过重新发布我的网络应用程序进行重新部署。
答案 25 :(得分:0)
我在visual studio的连接窗口中设置了iis的配置Web部署中使用的用户名和密码,它对我来说很好用..
答案 26 :(得分:0)
只需从http://SeverName:80/msdeployagentservice删除http://即可。也可以尝试使用ServerName。我遇到了这个问题,只是删除了http://
答案 27 :(得分:0)
我已经通过单词&#34;默认网站&#34;解决了这个问题。从Visual Studio 2013中的向导发布时,在站点名称文本框中
答案 28 :(得分:0)
此外,请确保已启动远程过程调用(RPC)定位器服务。
答案 29 :(得分:0)
我还通过卸载所有Web部署,然后只安装Web Deploy 2.0来实现这一点。
答案 30 :(得分:-1)
我在发布一组选择性文件时遇到了同样的问题。我刚刚选择了要发布的所有文件,然后成功发布。