在 Visual Studio 2012 RC 中,当我尝试验证 Web Deploy 连接时,会出现以下错误信息:
ERROR_DESTINATION_NOT_REACHABLE
需要在服务器上启动所需的Web管理服务,并安装Web Deploy 3.0 RC。然后,使用远程桌面连接登录服务器并检查位于C:\inetpub\logs\LogFiles\W3SVC1的IIS日志。在那里,我可以看到我的连接验证尝试,因为它们包含我的IP地址:2012-07-13 20:58:49 185.201.117.17 HEAD /msdeploy.axd site=Default%20Web%20Site 8172 - 189.10.32.194 - 404 0 2 78
它给我返回了404错误。
尝试了将近6个小时(阅读了很多材料,包括IIS团队的这篇出色的故障排除指南Troubleshooting Web Deploy problems with Visual Studio和此相关问题Visual Studio 2010 Web deployment task failed),我决定在这里寻求帮助,看看是否有人知道问题所在...你知道是什么导致了这个404错误吗?
如果需要更多信息,请告诉我,我会提供的... :)
编辑1
昨天我还尝试在我的本地机器上使用以下msdeploy
命令,以列出服务器上名为test
的文件夹的内容[并且它按预期工作]:
C:\Program Files\IIS\Microsoft Web Deploy V3>msdeploy -verb:dump -source:content
path=c:\test,computerName=xxxxxxxxxx.publiccloud.com.br,username=User,password=Password
Info: Using ID 'a246a13c-7777-4226-964c-fe9934c60b77' for connections to the rem
ote server.
MSDeploy.contentPath
c:\test
c:\test
c:\test\test.txt
编辑2
经过多次安装/卸载操作,我终于到了一个Windows Server 2008返回503 HTTP错误的地步,当我尝试使用VS 2012 RC或命令行中的msdeploy发布网站时。
看起来现在最好的做法是对Windows Server 2008进行清洁安装,因为我得到了一个混乱的VM服务器映像。希望这会奏效。
仅供记录,这是VS 2012尝试执行的msdeploy命令。我复制/粘贴并尝试了它与命令行中的msdeploy:
C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe -source:manifest='E:\SISPEC\SISPEC\obj\Release\Package\SISPEC.SourceManifest.xml' -dest:auto,ComputerName="https://xxxxxxxxxx.publiccloud.com.br:8172/msdeploy.axd?site=Default%20Web%20Site",UserName='UserName',Password='Password',IncludeAcls='False',AuthType='Basic' -verb:sync -enableRule:DoNotDeleteRule -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"E:\SISPEC\SISPEC\obj\Release\Package\SISPEC.Publish.Parameters.xml" -retryAttempts=2
只是为了得到相同的503服务器不可用消息。
编辑3
这个问题在IIS Web部署工具(MS Deploy)论坛这里被同时发布了。