Visual Studio调试错误:MSVSMON.EXE似乎没有运行

46

我有一个程序,当我按F5键运行它时,出现以下错误,并且无法运行:

尝试运行项目时出错,无法启动程序'F:....'。 远程调试监视器(MSVSMON.EXE)在远程计算机上似乎没有运行...

这是在成功编译项目之前发生的。 是否有任何需要设置的项目设置可能会出错?

我正在使用Visual Studio 2012 Update 2。

22个回答

1
我刚重启路由器后遇到了这个问题。
结果发现重启后我的设备IP地址被重新分配,但是顺序不同。例如,在我的Hosts文件中,我的IP地址为192.168.0.3,但是当我在命令提示符中使用ipconfig再次检查时,IP地址变成了192.168.0.4。
因此,如果您遇到此问题,请检查Hosts文件中的IP地址是否与当前IP地址匹配,因为它可能已更改!

1
当你尝试在IIS上运行项目时,会出现这种情况,而不是使用IIS Express,你的Visual Studio无法连接到IIS上的网站。
如果你的网站没有绑定到localhost并且你已经绑定了一个域名,你需要确保你的主机文件(运行->驱动器->etc->hosts)有一个指向该域名的条目。

1

这对我有用:

1)在修复Visual Studio之前,请不要更改计算机上的任何内容并尝试第2步。

2)以管理员身份启动Visual Studio。然后打开您的解决方案并尝试进行调试。


1

1
如果是Web应用程序,只需转到您的项目正在使用的应用程序池,右键单击,选择“高级设置”,启用“32位应用程序=true”。它应该可以工作。

1
为您的调试配置执行此操作。但在发布配置中取消选中。 以32位运行

1
问题的根本原因并不总是相同的,因此执行以下有用的检查清单(我假设在项目设置中 配置属性 -> 调试 -> 要启动的调试器: 已设置为 远程 Windows 调试器):
  1. VS 正在以管理员权限运行

    在这种情况下,Windows Defender 可能会阻止 devenv.exe 进程与 127.0.0.1 不同的 IP 进行通信。如果您无法以普通用户身份运行 VS,请在 PowerShell 提示符中尝试此命令(以管理员身份运行):

    set-mppreference -EnableNetworkProtection 0

  2. VS 计算机无法解析远程调试设置中指定的主机名

    在项目设置的 配置属性 -> 调试 -> 远程服务器名称 中,用其 IP 地址替换主机名(如果 msvsmon.exe 进程监听的端口与默认端口不同,则还需替换相关端口。请参见 here,了解您的 VS 版本的默认端口是什么)。

  3. VS 计算机无法连接运行远程调试器的计算机

    远程调试器至少需要这些端口:40204021135445。更复杂的是,默认端口并不总是 4020,而是针对每个 VisualStudio 版本都有所更改(例如,在 VS2019 中为 4024)。请参见 here。检查端口是否已打开以及两端之间的通信是否正常工作的最简单和最有效的方法是在两台计算机上安装 nmap。请注意,cygwin 中的 nc 命令不是 NetCat 的同一实现,也不适用于我们的测试。在需要运行远程调试器的计算机上运行以下命令(测试期间不要运行 msvsmon.exe):

    ncat -v -l <host_ip> <port>

    然后在运行 VisualStudio 的计算机上运行以下命令:

    ncat -v <host_ip> <port>

    请注意,host_ip 是运行远程调试器的计算机的 IP。如果该主机接收到连接,则没有防火墙阻止通信。在这种情况下,您应该在远程主机中看到类似于此的内容:Ncat: Connection from xxx。您可以重复测试端口 40204021。请注意,端口 4020 可以在远程调试器界面中更改,而且如前所述,默认端口并不总是 4020,而是针对每个 VisualStudio 版本都有所更改。

    您可能还需要其他端口进行身份验证(如果在远程调试器上启用了身份验证)和在远程计算机上部署文件。您可以在运行 VisualStudio 的计算机上运行相同的命令
    ncat -v <host_ip> <port> 并检查以下端口:135445。请注意,在这种情况下,您无需在远程主机上运行 nmap(服务已在该端口上监听)。


0

您可以直接进入调试设置,在调试选项卡中勾选“使用远程机器”,然后输入一些名称(即使该机器不存在也没关系)。

保存设置,使用配置运行,如果出现错误,只需再次取消勾选“使用远程机器”即可。

Visual Studio 将重新设置为本地调试,这应该可以解决问题。我认为这比关闭程序或更改不是根本原因的设置要好。


0
今天在我的C#项目中,当我添加一个linkLabel到表单以访问网页时,发生了这种情况。
我发现原因是我的hosts文件中有一个以太网tap接口(tinc vpn)的条目。我在那里为tap IP地址上的我的机器的别名输入了一个条目。注释掉它可以让调试器无问题运行。
非常感谢上面关于hosts文件的提示;它引导我朝着正确的方向前进!希望这可以帮助其他人。

0

我在尝试将JavaScript UWP应用程序部署到Xbox One时遇到了问题,原因是我选择的目标架构为x64。将其更改为任何CPU后,我就可以将其部署到控制台上了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接