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

Это то, что я получаю, даже когда я запускаю конфигурацию Debug.

То, как я получил это, было, включив "Just My Code" и "Предупреждать", если нет кода пользователя при запуске. Это то, что недавно произошло с нашим проектом, и я не уверен, что мы сделали для этого. Но я не смог это исправить. Точки разлома не срабатывают, и быстрый просмотр дает странные результаты.

Я попытался разобраться с проблемой, но ни один из стандартных "пунктов останова не срабатывает" не сработал. У меня все идеи.

Обновление. Я проверил диспетчер конфигурации, и каждый проект также настроен на Debug. введите описание изображения здесь

Обновление 2: я отключил "Включить оптимизацию", и я больше не получаю диалоговое окно "Вы отлаживаете диалог сборки". Он снова и снова останавливается на местах разрыва! Однако окно вывода отображает это при запуске:

Символы для модуля "Navigo.exe" не были загружены.

  • Используйте конфигурацию сборки отладки или отключите параметр отладки "Включить только мой код".
  • Проверьте параметры "Символы" в параметрах отладки.

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

Ответ 1

Используйте Configuration Manager, чтобы проверить, какие фактические настройки для конфигурации Debug - это в Build\Configuration Manager в главном меню - в случае, если они настроены на использование Release:

Configuration Manager

Кроме того, убедитесь, что проект правильно определяет DEBUG и что "Оптимизировать код" не проверяется:

Свойства

Ответ 2

Это случилось со мной и с несколькими проектами. Я рассмотрел мои настройки сборки как было предложено stuartd. Однако "Оптимизировать код" был включен не в моих настройках сборки. Поэтому я включил его и сохранил проект. Затем я снял флажок и снова сохранил. Проблема решена.

Там какая-то ошибка, которая приводит к тому, что флаг --optimize+ передается отладчику. Включение его и последующее его отключение - это простой способ обхода проблемы, пока ошибка не будет исправлена.

Ответ 3

Просто хочу вскочить и сказать, что это началось со мной после применения обновления 1. Существующие проекты начали показывать это, и я могу воспроизвести его с совершенно новым проектом. Вся конфигурация настроена на DEBUG, Optimize НЕ проверяется. Кикер, запускающий проект в первый раз (или после Чистоты), работает отлично, без какого-либо сообщения. Остановка, а затем повторный запуск проекта (примечание - проект НЕ REBUILT) отобразит диалог. Единственное решение - отключить параметр "Только мой код", который кажется взломанным, как это было в предыдущем обновлении 1 без проблем.

Ответ 4

Немного поздно вечеринке, но я столкнулся с этой проблемой. Исправление, в котором работало, состояло в простой очистке и восстановлении моих проектов.

Ответ 5

Если ни одно из упомянутых решений не помогло, проверьте свой проект AssemblyInfo.cs для явного приложения DebuggableAttribute. Похоже, что он переопределяет параметры отладки/выпуска компилятора.

Если бы эта строка в файле в моем случае (унаследованный проект, не знаю, как он туда попал). Удаление этой проблемы решило проблему:

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

Ответ 7

Ни один из вышеперечисленных ответов не работал у меня. Перезапуск IIS исправил его.

Ответ 8

Просто добавив боковую заметку, чтобы ответить:

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

Ответ 9

Цените, что это старый пост, но это первый, который появился в Google, когда я искал ответ, поэтому, вероятно, другие тоже придут сюда.

В моем случае проблема заключалась в том, что для URL-адреса проекта IIS на моей веб-странице свойств проекта ASP.NET был установлен неправильный URL-адрес. Он указывал на http://localhost, который я использовал с другой копией проекта. Адрес для открытого мной решения был настроен на моем локальном IIS как http://localhost:90.

Изменение на правильный адрес устраняет проблему.

введите описание изображения здесь

Ответ 10

У меня была такая же проблема... Независимо от того, что я сделал - ничего не получилось. Это был новый пустой проект, который был проблемой. Я закончил удаление проекта и добавил новый проект - новый проект должен был иметь другое имя; если я использовал одно и то же имя, ошибка только что появилась - даже после перезагрузки, очистки и перестройки... Это должно быть ошибка в VS 2015.

Ответ 11

Для меня это была ссылка Nuget с частного сервера Nuget. Я не знаю, как он был скомпилирован, но изменение ссылки на ссылку на проект заставило меня пройти мимо проблемы.

Ответ 12

Я открыл проект VS2012Pro в VS2015Express и имел ту же проблему.

Я проверил свойства решения | Свойства конфигурации и обнаружен проект был установлен на Release и x86.

Я изменил его обратно на Debug и Any CPU, и приглашение прошло.

Ответ 13

В моем случае я разрабатывал плагин VSTO для Outlook, а Outlook случайно загружал версию выпуска DLL, которую я недавно установил, при тестировании моего установщика. Похоже, VS пытался использовать эту DLL вместо ожидаемого Debug. Фиксирование этой DLL загружается Outlook исправлено для меня.

Ответ 14

Я попробовал почти все в этом списке, но в конце концов я исправил это, открыв свойства решения и переключившись с "Несколько проектов запуска" на "Единый проект запуска" и обратно.

  • Щелкните правой кнопкой мыши на решении и выберите "Свойства"
  • В разделе "Общие свойства" измените выбор "Несколько проектов запуска" на "Проект одиночного запуска"
  • Нажмите "ОК"
  • Запуск отладки
  • Завершить отладку и повторить шаги 1-3, но вернуться к "Несколько проектов запуска"
  • Запустить отладку снова с несколькими проектами

Ответ 15

Я встретил некоторую проблему, наконец, решил ее, выбрав "Отключить только мой код и продолжить".

Только моя настройка кода

Ответ 16

Шаги разрешения:

Перейдите к настройкам сборки проекта-нарушителя.

Прокрутите страницу вниз до кнопки "Дополнительно".

Убедитесь, что "Debug Info" не установлена ​​в "none".

Я рекомендую вам использовать опцию Full.

Счастлив помочь вам

Ответ 17

После просмотра ссылки Патрика в качестве комментария к вопросу, кто-то заметил обходное решение, которое должно было остановить сайт в IIS Express. Я смог предотвратить эту проблему из-за этого, выполнив это только после остановки отладчика в Visual Studio. Тем не менее, я изучал его больше, и я считаю, что это также может быть связано с настройкой "Изменить и продолжить" для отладчика. Когда я отключил это в настройках Visual Studio, у меня больше не было этой проблемы. Но тогда это помешает вам использовать функцию "Редактировать и продолжить", поэтому не уверен, что это того стоит.

Инструменты > Параметры > Отладчик > Изменить и продолжить (прокрутите вниз до списка общего списка) > Снимите флажок "Изменить и продолжить".

Я также испытал это внезапно после установки обновления 1, но это могло быть просто из-за того, что у меня была эта настройка в первую очередь... не уверен, хотя.

Ответ 18

Копирование моего другого ответа из здесь.

Как упоминалось @romanoza, Microsoft обновила отчет об ошибке со следующей информацией:

Снимите флажок Отладка → Параметры → Подавить оптимизацию JIT при загрузке модуля (только для управляемого)

Это обходной путь. Далее они говорят:

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

Наконец, подтверждение:

Это ошибка в том, что она не работает с включенным параметром, и мы работаем над исправлением этой ситуации, если некоторые клиенты все еще хотят отлаживать этот параметр.

Ответ 19

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

введите описание изображения здесь

Ответ 20

Это было странное предупреждение.

Восстановление решения не обязательно очистит все библиотеки DLL (особенно те, которые были скопированы из зависимых проектов).

Однако, перестройка проекта зависимости заставила это предупреждение уйти.

Столкнулся с этим обновлением VS2015.

Ответ 21

Мое решение немного отличалось от всех остальных и немного уникально.

Я работаю с веб-сайтом, который содержит сочетание управляемого кода и классического ASP, оба ссылаются на одну и ту же сборку. Visual Studio жаловалась, что моя управляемая DLL была сборкой релиза.

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

Исправление проблемы в моем управляемом сборщике сборки все исправлено.

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

Ответ 22

Я провел 2 дня, и мне показалось, что Reset the Visual Studio 2017 Experimental Instance помог мне.