Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Получить внутреннюю ошибку в оценщике выражений при добавлении функции наблюдения при попытке отладки кода службы WCF (MSVS 2013)

Автор вопроса: CeridanОтветов: 4

Несколько дней назад я переместил свое решение в MSVS 2013. Оно работает нормально, за исключением одного: когда я пытаюсь отладить код моей службы WCF, оно работает, но когда я хочу посмотреть состояние любой переменной, он говорит: "Внутренняя ошибка в выражении оценщик ". Функция добавления часов работает нормально на стороне клиента, но не работает в служебном коде. Я пытаюсь отладить свою собственную службу WCF, работающую на локальном хосте. Не могли бы вы мне помочь, как это исправить?

Здесь информация MSVS: Microsoft Visual Studio Professional 2013, версия 12.0.30110.00, обновление 1 Microsoft .NET Framework, версия 4.5.51641 ОС: Windows 8.1

  • В MSVS2012 он отлично работает (Microsoft Visual Studio Professional 2012, версия 11.0.61030.00, обновление 4, Microsoft .NET Framework, версия 4.5.51641) Ceridan 19.02.2014
  • Я также вижу это сообщение и только что обновился с 2012 на 2013 год. Gary 21.03.2014
  • Приходится откат на 2012 год, в 2012 работает без ошибок, а 2013 у меня еще битый Ceridan 22.03.2014
  • также появляется такая же ошибка в VS 2013 zulucoda 02.05.2014

visual-studio-debuggingvisual-studio-2013

Ответы

Ответ 1 · рейтинг 230 · Igal Tabachnik

Это может быть ошибка в новом (управляемом) механизме отладки, который поставляется с Visual Studio 2013. Попробуйте включить управляемый режим совместимости (который фактически превращает его в механизм отладки до 2013 года), расположенный в Инструменты - Параметры - Отладка:

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

@bjhuffine ниже комментирует, что есть другие способы включить режим совместимости, не отключая его глобально (например, для каждого проекта). Дополнительная информация здесь: https://devblogs.microsoft.com/devops/switching-to-managed-compatibility-mode-in-visual-studio-2013/

Ответ 2 · рейтинг 13 · Michael Freidgeim

Согласно вопросу Внутренняя ошибка в оценщике выражений 'Использование управляемого Режим совместимости останавливает "Редактировать и продолжить". Попробуйте установить флажок "Использовать устаревшие оценщики выражений C # и VB" в разделе Инструменты - Параметры - Отладка.

Ответ 3 · рейтинг 2 · KomArko

Я попробовал Igal answer, и это не сработало для меня, но я нашел решение, которое сработало для меня. Я очистил часы и снова начал добавлять элементы. Я заметил, что если я попытался добавить элемент, которого не было внутри текущей подпрограммы или функции, возникла внутренняя ошибка.

Я решил проблему, добавив другие элементы из их подпрограмм или функций, и снова ошибок не было.

Ответ 4 · ascriven

Ответ Майкла Фрейджейма помог мне отладить мою проблему. Но я хочу добавить дополнительную информацию о причине моей проблемы. Лишь немного связано с вопросом автора, но его ошибка вводит в заблуждение.

Мы использовали элемент управления Telerik RadGrid с GridDateTimeColumn's. Для свойства MinDate в этих сетках по умолчанию установлено значение 01.01.1980, поэтому, если вы привяжете к этому столбцу дату, меньшую указанного значения, вы увидите эту ошибку. Странно то, что исходная привязка и отображение не вызывали проблемы, ошибка была выдана только при переходе на другую страницу.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы