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

Эта точка останова не будет удалена, исходный код отличается от оригинала (даже после очистки/перестройки)

.NET 4, консольное приложение. В проекте установлен режим "Отладка". Установленная точка останова находится в проекте primary/startup. Я щелкнул правой кнопкой мыши → Очистить и щелкнул правой кнопкой мыши → восстановить, как на уровне решения, так и на уровне проекта.

Следуя инструкциям в этом вопросе SO, я подтвердил, что для моих опций "Build and Run" задано "приглашение" для обоих "Когда проекты отсутствуют date" и "при возникновении ошибок сборки или развертывания", и я НЕ получаю приглашение, когда я создаю/запускаю F5.

Кроме того, также выбирается "сохранить все изменения" в разделе "до построения" (плюс я сам вручную их сохранил).

Я отслеживал окно вывода приложения, смотри эту строку:

 'MyApplication.exe': (Managed (v4.0.30319)): Loaded 'C:\exepath' Symbols Loaded.

Я перезапустил экземпляр VS2010. Я перезапустил все открытые экземпляры VS2010 (из других проектов). Я даже перезагрузился.

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

Итак, это действительно 2 вопроса:

1) Как исправить эту проблему, чтобы я мог правильно остановиться на точке

2) Когда я вижу это, означает ли это, что мой код выполняется из старой сборки?

4b9b3361

Ответ 1

У меня была эта проблема, как только я сам, но это было на добавочном дополнении. В этом случае вместо промежуточных файлов в каталогах users/appdata, которые были загружены, вместо моего приложения, были оставлены промежуточные файлы.

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

Ответ 2

Это также может произойти, если у вас есть решение с несколькими проектами, а в проекте запуска в проекте VS2010 и VS2012 выбран неправильный проект.

Теперь, очевидно, я бы не ожидал, что отладка будет работать, если я выбрал неправильный проект запуска - отладчик привязан к неправильному процессу!

Но это сообщение об ошибке (в моем случае) было ужасно ошибочным. Это заставило меня подумать, что что-то еще не так. Я попробовал кучу решений в этом потоке (nuking различные /bin и выходные каталоги), когда действительно было что-то очень простое (неправильный процесс запуска).

Ответ 3

Если вы используете vb, проверьте, что вы строите проект для активной конфигурации решения (Build, Configuration Manager..., Column in Build. Проверяются свойства проекта, вкладка Compile, Advanced Compile Options и Для генерации информации об отладке установлено значение "Полный". Извините, я не могу сказать вам, где это может быть на С#.

Единственный раз, когда я видел это, - это когда два проекта в решении ссылаются на одну и ту же DLL, но они ссылаются из разных источников. Один из ссылок на проект, а другой - из ссылки на файл, например. Если опция "copy local" верна, существует вероятность перезаписывания dll со старой версией той же DLL.

Ответ 4

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

После многих царапин на голове в течение последних двух дней я смог решить ту же проблему, выполнив следующие простые шаги:

  • Перейдите в свойства проекта Visual Studio.
  • Перейдите на вкладку "Подпись".
  • Снимите флажок "Задержать только знак", если он установлен.
  • Теперь запустите свой проект, и он должен работать. Для меня это сработало.

Ответ 5

В моем случае была эта же проблема ( "Точка останова в настоящий момент не будет удалена. Исходный код отличается от исходной версии." ), вызванный тем фактом, что я попытался добавить точку останова в объявление:

DateTime dt;
bool b = DateTime.TryParse(null, out dt);

(первая строка кода)

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

Ответ 6

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

Ответ 7

У меня возникла проблема, когда Project > Properties > Web не выбрал "Enable Edit and Continue". После включения этой функции проблема была исправлена.

Важно отметить, что в меню "Инструменты" > "Параметры" > "Отладка" > "Редактировать" и "Продолжить" "Включить редактирование и продолжение" была выбрана, но она не была включена для этого проекта.

Ответ 8

Просто перейдите в раздел "Инструменты/Импорт и экспорт" Выберите reset все настройки и нажмите "Далее". Нет, просто измените настройки, оформив мои текущие настройки, затем нажмите Выберите текущий язык, например, С#. затем нажмите "Готово"

Ответ 9

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

Ответ 10

Мне пришлось пройти все эти шаги, чтобы устранить проблему на моем компьютере.

  • Убедитесь, что debug = "true" на вашем web.config

  1. Очистить и перестроить все проекты

  2. Удалить каждый файл внутри папки bin всех проектов

  3. Закройте и откройте Visual Studio, перестройте и снова запустите проект.

Ответ 11

выполнение "чистого решения" из VS Build Menu может помочь вам.