Ошибка: вы отлаживаете сборку выпусков X.dll

Фон

У меня есть проект приложения ASP.NET MVC, а также различные другие проекты в решении Visual Studio. Различные проекты используют различные версии библиотеки NPoco следующим образом:

  • Проект MVC включает версию NPoco через NuGet.
  • Некоторые другие проекты включают (возможно, другую) версию NPoco через ссылку на DLL (а не DLL, предоставляемую через NuGet).
  • Одним из проектов является исходный код версии NPoco с некоторыми изменениями.

Я использую Visual Studio 2015 Update 3 14.0.25422.01.

Ошибка

По какой-то причине, когда я запускаю это приложение в отладчике, используя обычную команду "Начать отладку" в Visual Studio, он запускается, но также вызывает следующее предупреждение:

Вы отлаживаете сборку Release из NPoco.dll. Использование Just My Code с версиями Release с использованием компилятора оптимизация приводит к ухудшению работы отладки (например, точки останова не будут удалены).></a></p>  <p>Если я нажимаю  <strong> Продолжить отладку</strong>, все, похоже, все еще работает как обычно, в том числе точки останова.</p>  <p>Эта проблема только начиналась в последнее время.</p>  <H3> Вопрос</h3>  <ul> <li> Кто-нибудь знает, что вызвало вышеуказанную ошибку?</li> <li> Есть ли у меня что-то неправильно сконфигурированное?</li> </ul></div></body></html>

Ответ 1

Отключить этот параметр в разделе "Отладка- > Параметры- > Запретить оптимизацию JIT при загрузке модуля (только для управляемого).

Отчет о подключении, представленный ранее:

https://connect.microsoft.com/VisualStudio/feedback/details/2116788/flag-optimize-is-passed-to-the-debugger-even-while-the-build-settings-optimize-code-is-not-enabled-on-mvc-c-web-projects-when-using-just-my-code.

Также убедитесь, что все проекты находятся в режиме отладки. Оптимизированный код не был отмечен как этот случай:

Проект VS2015 больше не работает в режиме отладки

Ответ 2

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

Ответ 3

Опция "Оптимизировать код" есть на уровне проекта Visual Studio. Удалите это для режима отладки.

Ответ 4

Я обнаружил, что при обновлении пакета Nuget, который имеет зависимость от проекта, на который вы ссылаетесь (это может быть модифицированная версия), он заменяет его версией Nuget для dll.

Чтобы исправить это после обновления (или добавления) пакета nuget, вам необходимо удалить ссылку на DLL (например, NPoco) и добавить ссылку на проект в проект с измененной версией.

Ответ 5

В моем случае я удалил Webapplication.dll для моего проекта и удалил содержимое в папке релиза. Снова перестройте проект, и он работает для меня.

Ответ 6

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

Журнал фьюжн помог мне разобраться в этом.

Ответ 7

Это случилось со мной в VS2017, даже после изменения конфигурации на Build. Проблема была решена при перезапуске VS2017

Ответ 8

Щелкните правой кнопкой мыши решение > Свойства> Диспетчер конфигурации> Конфигурация активного решения: Новое
Дайтеимя новой конфигурации решения. Скопируйте настройки из "Отладки".

Я сделал все для этой ошибки, но только это решение работало.

Ответ 9

В моем случае какой-то хитрый обманщик поместил это в файл AssemblyInfo.cs:

[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

Прокомментировал, и он начал работать