«Точка останова в настоящее время не будет достигнута. Исходный код отличается от оригинальной версии». Что это значит? - PullRequest
477 голосов
/ 18 марта 2010

При отладке в Visual Studio иногда я добавляю точку останова, но она пустая, и VS говорит: «В данный момент точка останова не будет достигнута. Исходный код отличается от исходной версии» Очевидно, это не дает мне возможности отлаживать.

Что на земле означает сообщение? Какая оригинальная версия? Если я только что открыл решение и не внес никаких изменений в код, как может существовать «оригинальная версия»?

Ответы [ 45 ]

252 голосов
/ 09 ноября 2010

Как говорится, «исходный код отличается от оригинальной версии».

Щелкните правой кнопкой мыши папку проекта в обозревателе решений и выберите Clean. Создайте новую версию проекта, и точка останова снова заработает!

121 голосов
/ 14 января 2011

Если вы не отметили проект DLL в конфигурации сборки отладки , ваш новый код никогда не будет собран!

Перейдите на Build --> Configuration Manager ... (в VS2010) и проверьте, проверен ли проект с кодом, который вы пытаетесь отлаживать, на текущую конфигурацию сборки.

42 голосов
/ 09 января 2012

Для меня это было во время работы над проектом WebSite. После очистки этих временных папок я получил правильные ошибки компилятора:

  • C:\Documents and Settings\%username%\AppData\Local\Temp\Temporary ASP.NET Files
  • C:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

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

37 голосов
/ 18 марта 2010

Ты когда-нибудь делал это?

Хотите продолжить и запустить последнюю успешную сборку?

Если вы отметили флажок и нажали «Да», вы получите последнюю успешную сборку, даже если ваш проект не компилируется. Это означает, что всякий раз, когда вы устанавливаете точку останова, вы получите эту ошибку.

Попробуйте изменить это значение:

  • Инструменты
    • Опции
      • Проекты и решения
        • Построй и беги
          • При запуске, когда возникают ошибки сборки или развертывания: Не запускать
28 голосов
/ 23 января 2013

Выберите Отладка в Конфигурации решения вместо Выпуск

screenshot of menu

28 голосов
/ 09 января 2012

Перейти к

  • Инструменты
    • Опции
      • Debugging
        • Общее

Снять отметку Требовать, чтобы исходные файлы точно соответствовали исходной версии

24 голосов
/ 26 ноября 2013

Закрытие Visual Studio и повторное открытие решения могут решить проблему, т. Е. Это ошибка в самой IDE (у меня работает VS2010).

Если у вас запущено несколько экземпляров Visual Studio, вам нужно только закрыть экземпляр, на котором запущено решение с проблемой.

24 голосов
/ 18 марта 2010

Обратите внимание на окно «Вывод» в VS. Он скажет вам, какие сборки загружены и когда. Возможно, вы видите, что загружается более старая версия вашей сборки где-то в папке.

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

19 голосов
/ 03 октября 2017

Начиная с Visual Studio 2017 с 15.3.1 по 15.3.5 появился новый способ решения этой проблемы. Если вы используете EditorConfig , опция charset=utf8 вызывает эти симптомы. Команда VS воспроизвела это и говорит, что работает над этим .

Итак, одно из исправлений - закомментировать вашу строку charset=utf8 в файле .editorconfig.

Редактировать: это должно быть исправлено с VS 15,5.

9 голосов
/ 18 марта 2010

Это часто происходит также в том случае, если вы используете ссылки на файлы в двоичных файлах (вместо ссылок проекта на код в вашем проекте), а скомпилированный двоичный файл, на который вы ссылаетесь, не синхронизируется с соответствующим исходным кодом на вашем компьютере. Это может произойти из-за того, что вы загрузили новую версию бинарного кода из системы управления исходным кодом без нового исходного кода, который был в комплекте с ним, или у вас есть несколько версий бинарного файла на вашей машине, и вы ссылаетесь на старую копию и т. Д. Если это действительно так проблема, это хорошая причина, чтобы использовать ссылки на проекты настолько, насколько это практически возможно.

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