Вычисление функции "функция"

Окружающая среда: версия Visual Studio 2017 версии 15.5.2

Ошибка:

Оценка функции "функция" ("Windows.Controls... ToString" в моем случае) вышла из строя и должна была быть прервана небезопасным способом.

Ответы говорят, что это обычно происходит, когда

Функции> Отладка> Общие> Включить оценку свойств>.

Я отключил это. Проблема все еще происходит. Microsoft предлагает несколько вариантов решения этой проблемы, включая

  • Предотвратите отладчик от вызова свойства getter или метода ToString (в моем случае это сторонний код)
  • Попросите целевой код попросить отладчика прервать оценку (я не знаю, что это значит. Мне кажется, что "просто игнорируйте")

Ответы

Ответ 1

Я обнаружил, что это связано с ReSharper. Устранение отладки Интеграция от параметров ReSharper решила проблему для меня:

VS2017> ReSharper> Параметры> Продукты и функции> Снимите флажок Интеграция отладчика

enter image description here

Ответ 2

Это появилось для меня в Visual Studio 2017. Версия 15.5.2. Я остановил ошибку с опцией в верхнем меню:

Отладка> Параметры> "Использовать управляемый режим совместимости"

Это не идеально. В документах "Использовать управляемый режим совместимости":

Заменяет механизм отладки по умолчанию на устаревшую версию, чтобы включить эти сценарии:

Вы используете язык.NET Framework, отличный от С#, VB или F #, который предоставляет собственный Expression Evaluator (включая C++/CLI).

Вы хотите включить Edit и Continue для проектов C++ при отладке в смешанном режиме.

Обратите внимание, что при выборе режима Managed Compatibility отключает некоторые функции, которые реализованы только в режиме отладки по умолчанию.

Я надеюсь увидеть лучшее исправление в ближайшее время. По состоянию на 2/20/2018 в Сообществе разработчиков Microsoft есть аналогичная открытая проблема.