Эта точка останова не будет удалена, исходный код отличается от оригинала (даже после очистки/перестройки)
.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) Когда я вижу это, означает ли это, что мой код выполняется из старой сборки?
Ответы
Ответ 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
-
Очистить и перестроить все проекты
-
Удалить каждый файл внутри папки bin всех проектов
-
Закройте и откройте Visual Studio, перестройте и снова запустите проект.
Ответ 11
выполнение "чистого решения" из VS Build Menu может помочь вам.