Visual Studio 2012 远程操作花费的时间比预期的要长
Posted
技术标签:
【中文标题】Visual Studio 2012 远程操作花费的时间比预期的要长【英文标题】:Visual Studio 2012 A remote operation is taking longer than expected 【发布时间】:2012-09-03 19:13:42 【问题描述】:我在 Windows 8 64 位上运行 Visual Studio 2012。我有一个源代码控制中的 64 位项目,我正试图在我的 Windows 8 电脑上在家中运行它。应用程序构建成功,但远程调试器根本不起作用。
它显示“远程操作花费的时间比预期的要长”。我理解为什么它是远程的,因为 32 位 Visual Studio 需要访问 msvsmon.exe 以通过 64 位应用程序进行调试,但我从未见过在已签出源代码的本地计算机上发生这种情况。
我尝试重新安装 Visual Studio 2012,使用端口 (4016) 以及以管理员身份运行。通过卸载客户端检查 *** 不是问题。
我现在没有主意了。我尝试创建一个全新的本地项目进行测试并将其设置为 64 位,但操作仍然没有成功。
有什么想法或建议吗?这是 Windows 8 上的 Visual Studio 2012 的已知问题吗?
【问题讨论】:
你解决了这个问题吗? 这可能有用[Cannot start Debugger in VS2012][1] [1]: ***.com/questions/11179030/… 【参考方案1】:我认为你应该试试这个:
以管理员身份运行 cmd.exe。 输入并运行以下两行命令:可能说需要重新启动,但实际上没有必要。 再次尝试调试您的应用程序,问题应该得到解决。netsh winsock 重置目录
netsh int ip reset reset.log hit
编辑: 很抱歉之前没有对此提供解释。答案其实来自一个中文论坛,原作者没有过多解释。但他确实说过这是因为Visual Studio是一个32位程序,在64位Windows 7下可能无法访问网络,上述解决方案重置网络连接因此解决了问题。希望这会有所帮助。
【讨论】:
我不得不重新输入我机器的 IP 地址,但这有效。非常感谢你。我花了几个小时试图弄清楚为什么 VS2012 想要访问网络以在 IDE 模式下运行程序并且不能但其他一切都可以正常访问网络。 它对我有用。但我真的很感激有关解决方案的解释。 @Adam :很好的答案,但没有“它是如何工作的?”回答它会降价。暂时为-1,一旦您有时间回复此遗嘱,请再次投票。 很抱歉之前没有对此提供解释。答案其实来自一个中文论坛,原作者没有过多解释。但他确实说过这是因为Visual Studio是一个32位程序,在64位Windows 7下可能无法访问网络,上述解决方案重置网络连接因此解决了问题。希望这会有所帮助。 请注意,这些命令将重置 VMWare 网络设置。这可能会导致无法从主机访问您的访客系统。【参考方案2】:我使用 VS2012 的唯一答案是进入项目属性 > 编译 > 目标 CPU 并将选项设置为“x86”。
这似乎也与这个问题有关:Can't start debugger in VS2012 RC 他们也将此提交给了 Microsoft Connect。好像是Visual Studio的问题……
祝你好运。
【讨论】:
不幸的是,这对我没有帮助...... CS2012 RC线程中的任何解决方案也没有。 这对我有用,谢谢。实际上,我有带有 vs 2012 的 Windows 7 64 位。当我从任何 CPU 将它设置为 x86 时,它都可以工作。在 32 位操作系统 vs2012 中,在 AnyCPU 上运行良好,但在 64 位操作系统中,我需要明确设置目标操作系统。【参考方案3】:我正在使用 VS2012(Windows7,64 位 PC)。当我选择 DEBUG - Attach to Process... 时,我确实看到了一个消息框,上面写着“64 位调试操作花费的时间比预期的要长”。我下载了 VS2010 的免费试用版,发现在 VS2010 中它运行良好。所以,我从 VS2010 (C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x64 and C:\ ... \x86) 复制了文件 msvsmon.exe 和 msvsmon.exe.config在VS2012中进入相同的地图。现在它正在运行VS2012。希望这对你也有帮助。祝你好运。
【讨论】:
【参考方案4】:只要我的两分钱,
我现在已经两次遇到这个问题,在我尝试了所有建议之后,结果是我本地机器上的 BitDefender 正在这样做。所以我解决这个问题的方法是尝试添加例外到本地安全软件到防火墙和AV它的一部分。告诉它完全忽略 msvsmon.exe 和 devenv.exe,看看有什么不同。
否则,请尝试完全删除它,看看它是否可以让您调试您的解决方案。
您可以在此处查看更多信息:http://forum.bitdefender.com/index.php?showtopic=37028
我安装了最新的 BitDefender 版本,一切正常。
【讨论】:
【参考方案5】:VS 2015 中的解决方案。我有一个公共 dns 条目映射到我的本地 iis 和项目的 web/debug 选项卡:
<app>.<domain>.co.uk
只需将其作为本地主机添加到 hosts 文件中:
127.0.0.1 <app>.<domain>.co.uk
因此 VS 不再认为主机是远程机器。
【讨论】:
【参考方案6】:这个问题的解决方法是:
导航到 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Remote Debugger 打开 x64 文件夹并将 msvsmon.exe 文件重命名为 msvsmon_old.exe 现在,导航到 x86 文件夹并复制 msvsmon.exe并将其粘贴到 x64 文件夹中。重新启动 Visusl Studio 2012 IDE,现在尝试在调试期间附加到进程
【讨论】:
虽然它会以某种方式解决问题,但我认为这意味着您正在用 32 位调试器替换 64 位调试器,而不是解决 64 位调试器无法解决的核心问题连接。 Adam Liu 提出的网络重置解决了核心网络问题,并让您保留 64 位调试器,这似乎是更明智的做法。【参考方案7】:对我有用的是卸载一个名为“sendori”的程序
【讨论】:
以上是关于Visual Studio 2012 远程操作花费的时间比预期的要长的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2012 远程调试:对内存位置的无效访问
我可以在 Windows XP 上使用 Visual Studio 2010 远程调试器从 Visual Studio 2012 调试 .Net 4.0 应用程序吗?
无法在 Windows Server 2008 上运行 Visual Studio 2012 远程调试器