我需要在托管在不同网络上的服务器上对托管代码(.NET)进行远程调试。客户端或服务器都不在域上,所以我必须使用服务器的公共IP。
我正在尝试使用Visual Studio - >附加到流程 - >使用限定符john@xx.xx.xx.xx的默认传输,但它不起作用。
我收到错误消息:“无法连接到名为'john@xx.xx.xx.xx'的Microsoft Visual Studio远程调试监视器。在远程计算机上没有运行指定名称的服务器“
此错误消息告诉我可以正常连接,但无法找到msvsmon实例(即'john @ WEB-001')。所以我尝试使用WEB-001 \ john@xx.xx.xx.xx和xx.xx.xx.xx \ john @ WEB-001等限定符的组合,但两者都没有用。
如果我选择传输“远程(只有没有身份验证的本机)”它连接就好了,我可以看到服务器上的进程列表,但它几乎没用,因为我无法调试托管代码。
管理员'john'在两台计算机上都存在相同的密码
Windows 2008 R2 X64(服务器)
安装了远程调试组件(VS2010)X64
防火墙关闭
名为“john @ WEB-001”的Msvsmon新服务器作为john
Windows 7 X64(客户端)
Visual Studio 2010作为约翰执行
防火墙关闭
知道如何解决此问题,还是不支持此方案?感谢
答案 0 :(得分:0)
您是否已尝试将web-001放入主机文件中,并以john @ web-001连接?
答案 1 :(得分:0)
尝试将服务器名称添加到hosts文件中:
192.168.1.100 WEB-001
用您自己的IP替换IP。本机代码调试是通过普通的TCP / IP完成的,没有安全性,但是本机代码需要DCOM来强制执行安全性,我不明白原因,但....
答案 2 :(得分:0)
我知道这是一个旧线程,但是。
首次安装远程调试器时,您可以设置允许所有Web流量或仅允许子网连接的防火墙设置。再次运行配置以允许所有Web流量。
此外,作为管理员帐户,而不是管理员组中的用户,Shift + r-单击调试器快捷方式以作为其他用户执行。输入与您正在调试的机器具有相同用户名和密码的其他用户帐户,在本例中为john。
这是我必须使用的过程。