Visual Studio 2019:出现错误弹出窗口:“为了防止在评估函数时发生不安全的中止...”

Mat*_*tze 8 visual-studio-2019 asp.net-core-3.0

在启动 ASP.NET Core 3 WebApi 项目时,我遇到了 Visual Studio 2019(版本 16.3.8)的问题。

单击确定后,项目启动并运行,没有任何问题。然而,每次我开始我的解决方案时,弹出窗口都会不断地唠叨我。

  1. 我怎样才能停止显示它?
  2. 它到底想告诉我什么?

在此处输入图片说明

Mat*_*tze 11

似乎有两种可能的解决方案,至少对我在 Visual Studio 2019 上有用。

解决方案

转到Tools => Options => Debugging => General然后启用Use Managed Compatibility Mode(感谢南宇)或禁用Enable property evaluation and other implicit function calls

第二种解决方案面临的缺点是,当处于中断模式时,我们必须在本地窗口上手动点击刷新才能查看变量内容。

背景

该消息告诉我们,由于隐式属性评估,我们的系统状态可能会在处于中断模式时发生更改。

默认情况下,我们告诉 Visual Studio 调试器尝试隐式评估属性。这当然需要在我们刹车时运行代码,而不仅仅是显示内存内容。运行代码,可能会改变系统的状态,这并不总是我们想要的。例如,我可能会在每次访问属性时增加一个计数器,这意味着当调试器将尝试评估该属性时,我的代码将运行,计数器将增加,并且我的系统状态发生变化,即使我我刹车了。

https://blogs.msdn.microsoft.com/eliofek/2012/12/12/why-do-we-get-the-function-evaluation-requires-all-threads-to-run/


jma*_*man 6

我的监视窗口中有一些变量导致出现此错误弹出窗口。只需将它们从监视窗口中删除,错误弹出窗口就不会再显示。