Подтвердить что ты не робот

Невозможно отладить управляемый код с помощью visual studio 2013 (ошибка "Невозможно оценить выражение" - используется сборка отладки) (обратите внимание, что VS 2012 работает)

У меня есть .net-приложение (GUI, а также PowerShell), построенное против 4.5. Моя ОС - это сервер 2012 года. Когда я прикрепляю свое приложение к visual studio studio 2013, отладчик иногда не работает. Его не оценивая выражение или показывающее локальных жителей (а также окно окна/немедленного окна ничего не работает - его, как если бы проект строился с выпуском). Но я построил конфигурацию "Debug". И как упоминалось, то же самое работает, когда я просто присоединяюсь к VS 2012 (да, у меня есть 2k13 и 2k12 SXS)

Обратите внимание: если я присоединяюсь к тому же самому процессу с теми же настройками (управляемая отладка), Visual Studio 2012 всегда работает.

Я убедился, что символы загружены (проверяя вкладку модулей в visual studio + debug + windows), удаляются точки разрыва.

Любые мысли о том, что может быть проблемой? Все обновления также обновлены.

Его раздражает запуск с 2012 года только для отладки, когда я использую среду разработки VS 2k13 для разработки.

Привет!

4b9b3361

Ответ 1

Если вы столкнулись с той же проблемой, просмотрите http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-Expression-Debugger-Abnormality.

Вот ответ, который решил для меня:

Я установил флаг "Использовать режим совместимой совместимости" в Инструменты | Варианты | Отладчик | Генеральная.

Подробнее см. ссылку, как он объяснил это как история:)

Я рад, что это сработало, иначе мне просто пришлось загрузить проект в vs 2k12, чтобы отладить его, что раздражает.

РЕДАКТИРОВАТЬ 12 июня 2014 года

Я обновил свои среды для разработчиков с помощью visual studio 2013 update 2 (http://www.microsoft.com/en-us/download/details.aspx?id=42666) (согласно предложению Марии ниже) и удален "использование режима совместимой совместимости". Я буду тестировать свои приложения (ps cmdlets, gui, services) и обновлять вас через пару недель, если отладчик в порядке для меня.

РЕДАКТИРОВАТЬ 26 июня 2014 года

Я тестировал свои приложения, и к счастью для меня все работает красиво:). Даже отладчик отлично справляется с новой моделью async/await. Итак, посмотрите, можете ли вы обновить до "обновления 2" - надеюсь, это тоже работает в вашей среде?. Спасибо Марии и отладчику!

С уважением.

Ответ 2

Я удалил все свои точки останова, а затем начал работать с обновлением Visual Studio 2013 1. Это было одно из предложений из сообщения упомянутый Мечтателем.

Ответ 3

Мы выпустили исправление для проблемы, которую вы описываете в Обновление 2 CTP 2 из Visual Studio -
Пожалуйста, дайте мне знать, если это не решит вашу проблему!

Спасибо! Maria - Отладчик Visual Studio

Ответ 4

Обратите внимание, что хотя принятый ответ, вероятно, устранит проблему на данный момент, лучше всего знать о недостатках этого решения. Выполнение этого изменения заставит VS 2013 использовать старый отладчик стиля для всех ваших проектов. Это глобальная установка. Есть и другие способы локального изменения этого для одного проекта. Пожалуйста, прочитайте здесь для получения дополнительной информации по этому вопросу:

http://blogs.msdn.com/b/visualstudioalm/archive/2013/10/16/switching-to-managed-compatibility-mode-in-visual-studio-2013.aspx

Ответ 5

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

 <DebugEngines>{351668CC-8477-4fbf-BFE3-5F1006E4DB1F}</DebugEngines>

Есть ли что-то еще?

Наши клиенты используют VS2013 pro. Я отключил все "Включить хостинг Visual Studio" для всех наших проектов, а также добавил свойство к проектам наших клиентов. Я все еще вижу предупреждение каждый раз, когда я атакую ​​w3wp.exe.

ВАЖНОЕ ПРИМЕЧАНИЕ. Если ваш проект использует хостинг Visual Studio (по умолчанию для многих типов проектов), вы должны отключить процесс хостинга для этого исправления, чтобы правильно изменить режим отладки. Чтобы отключить процесс хостинга, перейдите в панель "Отладка" на странице свойств проекта и снимите флажок "Включить процесс хостинга Visual Studio"

Ответ 6

Вы можете устранить эту ошибку, применив ниже точки

Sol 1:

1) Перезапустите визуальную студию и заново откройте свой проект.
 2) Откройте каталог проекта bin и удалите DLL этого кода, где ваш отладчик работает неправильно.
 3) Затем снова добавьте ссылку на DLL в каталог bin.
 4) Удалите все точки останова.
 5) Проект строительства.
 6) присоединитесь к одному процессу w3wp.exe при подключении к окну процесса
 7) Наслаждайтесь, что ваша проблема решена.


Если вышеуказанное решение не работает, вы можете попробовать решение, которое было предоставлено ниже.


http://weblog.west-wind.com/posts/2013/Nov/21/Visual-Studio-2013-Could-not-evaluate-Expression-Debugger-Abnormality

Ответ 7

У меня была аналогичная проблема с отладкой, где эта ошибка возникла из-за возврата от создания класса. Класс инициализирован штрафом (с использованием "new classname()" ), но затем он дал ошибку "не могу оценить выражение" при возврате. Хотя он работал над предыдущими версиями Visual Studio, работающими на VS 2017, он исчез.

После множества ударов головой выяснилось, что частные переменные в классе, особенно такие, как arraylists и другие классы, должны быть объявлены с начальными значениями, даже если установлено значение null.

Как только это было сделано, все сработало, хотя решение "оказалось" не имеет ничего общего с проблемой и не дало ясного представления о том, где возникла проблема.

Ответ 8

У нас была эта проблема с расширением PostSharp версии 5.0.32 с обновлением VS2013.

В нашем обходном пути было добавлено расширение PostSharp до версии 4.3.19 или отключено.

Ответ 9

Установите AutoEventWireup = "true" в файле заголовка aspx. Это включит режим отладки.