Visual Studio 2019 - msvsmon.exe 意外退出。 .net core 1.1 项目将中止调试

Posted

技术标签:

【中文标题】Visual Studio 2019 - msvsmon.exe 意外退出。 .net core 1.1 项目将中止调试【英文标题】:Visual Studio 2019 - msvsmon.exe unexpectedly exited. Debugging will be aborted with .net core 1.1 project 【发布时间】:2022-01-04 05:25:19 【问题描述】:

我们尝试在 Visual Studio 2019 16.11.7 中调试一个 .net core 1.1 C# 应用程序。 该项目由 2 个其他项目(全部调试正常)+ 一个无法调试的项目组成。该项目运行良好,直到某处更新了某些内容,现在它引发了此错误。

在删除并重新安装 Visual Studio 2019 之前,我对 Visual Studio 进行了全面修复。这也没有解决问题。

我已经尝试了以下所有方法,但仍然出现此错误 msvsmon.exe 意外退出。调试将中止

    删除了 Visual Studio 2019 并重新安装了 Visual Studio 2019 删除了项目中的 vs 文件夹 将项目调试目标设置为 x86 为“devexe”和“x64 远程调试器 msvsmon.exe”文件设置 Windows Defender 防火墙豁免 将项目更改为使用“托管兼容模式”进行调试(现已禁用) 在 debug & release 下清除 bin 文件夹 将 IIS 设置为在 32 模式下调试(但已移除此) 将 127.0.0 添加到主机文件(但已删除) 从https://dotnet.microsoft.com/download/dotnet/1.1 安装了 64 位和 32 位 .Net core 1.1.13 运行时和 SDKS 更新了 global.json

  "sdk": 
    "version": "1.1.14"   //was ->  "version": "2.1.200"
  

以上都失败了,错误仍然存​​在。请问有什么建议吗?

我注意到,如果我在下面的代码上设置断点,它会启动(代码以黄色突出显示),但在短暂暂停后在 F10 上,它会抛出该错误。如果我将第一个断点放在 host.Run() 处,则在显示该错误之前它永远不会成功。

 var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseStartup<Startup>()
                .UseApplicationInsights()   
                .UseIISIntegration()
                .Build();

            host.Run();

如果我选择“Start without Debugging”,项目运行良好。

也不确定为什么要使用远程调试器 - 我正在进行本地调试。它作为 Web 应用服务部署到 Azure,但是当我在本地调试时发生此错误。

Windows 事件查看器显示异常详细信息,但没有解释实际错误:

Faulting application name: msvsmon.exe, version: 16.11.1197.0, time stamp: 0x617c671f
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x00007ffe87713c45
Faulting process ID: 0x174
Faulting application start time: 0x01d7e27b6dad4865
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe
Faulting module path: unknown
Report ID: 9ae51274-a8b0-4e3d-a067-efbb01da4bab
Faulting package full name: 
Faulting package-relative application ID: 

如果有任何建议,我们将不胜感激。谢谢。

我还看到微软已经意识到了这个问题,并且显然在 VS2019 更新 16.4.4 中修复了它,但事实并非如此。 https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.4#visual-studio-2019-release-notes-history

我在网上研究了类似的场景,提出了上述选项,但错误仍然存​​在。

此外,我现在在我的电脑上尝试了这个项目的不同版本(旧版本)(做了一个 git 克隆),我得到了相同的错误消息。

【问题讨论】:

【参考方案1】:

您已经尝试了所有可能的方法来解决此问题。还是不行请尝试安装最新的visual studio2022 修复了msvsmon.exe意外退出。

安装最新版本后,尝试运行您的项目并检查您是否可以调试您的项目。不幸的是,这个问题可以在所有VS 2019 和一些VS 2017 一些讨论here 中持续存在。所以唯一的解决办法是升级你的Visual studio最新版本。

如果问题仍然存在,请执行以下步骤并收集转储文件。

    启动 Visual Studio 并开始调试您的应用。您可以看到在调试模式下启动的 msvsmon.exe 进程。

    启动另一个 VS 实例。

    在第二个实例中单击调试 |附加到进程...

    在进程列表中选择 msvsmon.exe。您应该能够附加到步骤 1 中找到的所有正在运行的实例。

    单击选择...并明确选择“本机”和“托管(v4.6,v4.5,v4.0)”代码。

    单击“确定”和“确定”关闭“选择”对话框和“附加到进程”对话框。

    回到 VS 的第一个实例并重现崩溃。

    崩溃后控制应该转到VS的第二个实例。

    在第二个实例中单击调试 | Save Dump As... 并保存崩溃信息。

    将转储文件附加到您的问题报告并发送

参考here

收集转储后,请提出您的报告here

【讨论】:

谢谢,解决方案是安装 Visual Studio 2022。该项目现在可以正常调试了。我不确定是什么导致了这个问题,但 Visual Studio 2019 中显然存在一个错误。

以上是关于Visual Studio 2019 - msvsmon.exe 意外退出。 .net core 1.1 项目将中止调试的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2012 不同的值发布/调试模式

如何在 Visual Studio 2017 中使用 Qt 库?

没有 在MS Visual Studio 2013中 - 怎么做?

MS VIsual Studio 2010 中的问题 Glut lib 工作

如何在 Visual Studio 中启用 C++0x 功能? [初始化列表支持]

Visual Studio 自动化:在加载解决方案时枚举打开的窗口