Visual Studio 2019: появляется всплывающее сообщение об ошибке: «Чтобы предотвратить небезопасный прерывание при оценке функции ...» - PullRequest
0 голосов
/ 08 ноября 2019

У меня возникла проблема с Visual Studio 2019 (версия 16.3.8) при запуске проекта ASP.NET Core 3 WebApi.

После нажатия OK проект запускается и запускается без каких-либо проблем. Тем не менее, всплывающее окно постоянно мучает меня каждый раз, когда мне нужно запустить решение.

  1. Как мне перестать показывать его?
  2. Что оно все равно пытается мне сказать?

enter image description here

1 Ответ

0 голосов
/ 11 ноября 2019

Кажется, есть два возможных решения, которые, по крайней мере, сработали для меня в Visual Studio 2019.

Решение

Перейти к Tools => Options => Debugging => General, а затемлибо включите Use Managed Compatibility Mode (благодаря Nan Yu), либо отключите 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...