我曾经遇到了类似的问题,当在断点处继续执行代码时,会不断弹出一个窗口,严重拖慢了调试的进程...
经过数小时的尝试和排查,我找到了可能的解决方法。我不确定你的设置是怎样的,但我在使用以下设置时开始遇到这个问题:在Visual Studio 2022上使用.NET 6:
![The settings that may affect this](https://istack.dev59.com/w6DpI.webp)
当我关闭它们并重新启动Visual Studio后,调试进程变得更快了(并且窗口只在该调试会话中第一次命中断点时出现,而且仅出现短暂的时间)。所以你可以试一下。
如果即使关闭这些设置后还遇到此问题,请在“工具”->“选项”->“调试”->“.NET/C++ 热重新加载”中关闭此设置:
我知道关闭这个特定的设置可能并不理想(因为与任何.NET相关的热重新加载都非常有用和酷),但如果你的生产力因此而受到影响,那么我建议你这样做。
请注意,我目前正在使用带有.NET 6的Visual Studio 2022。
更新(2/18/2022):
似乎更新到Visual Studio 17.1.0会修复此问题。升级到17.1.0后,我没有看到此弹出窗口。
更新(2/25/2022):
在使用VS 17.1.0一周后,发现如果您打开了“使用.NET SDK预览版”选项,则此问题仍然存在。否则,似乎关闭“工具->选项->环境->预览功能”中的“使用.NET SDK预览版”将极大地降低Visual Studio检查代码更改或使此“检查任何代码更新”弹出窗口不显示时的加载时间。而且似乎“丰富的代码导航”功能根本不影响这个问题。
更新(3/7/2022):我再次遇到了这个问题,看起来它只在特定情况下发生。所以每当我打断点,然后进行编辑并执行“
Edit and Continue
”操作时,似乎
Hot Reload
会搜索整个项目以查找其他更改(尽管更改只针对一个文件和一行代码),从而在较大的项目上花费更长时间,导致出现“
Checking for any code updates
”弹窗,同时
Hot Reload
寻找需要重新编译的更改。因此,在Visual Studio团队解决
Hot Reload
功能的性能问题等其他问题之前,如果这个问题导致您的调试和项目工作受到巨大延迟,我建议关闭此功能。
对于编辑Razor文件(如.cshtml
或.razor
)时正在运行应用程序的情况,如果您仅对视图进行更改,我建议在不进行调试的情况下运行它。这样,您可以在编辑视图时仍然利用Hot Reload
而不会遇到此问题。