- Точка останова в настоящее время не задета. Копия файла была найдена в dll-файле, но текущий исходный код отличается"

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

Я попробовал очистить решение, перестроить, удалить .pdb-файлы в папках obj и bin, закрытие VS и перезапуск, перезапуск всей машины (это Windows! Иногда самые сложные, необъяснимые проблемы фиксируются следующим образом:)

есть идеи, что еще я могу попробовать? это проект .net на VS2015

Breakpoint error

6 ответов


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


вот некоторые вещи, чтобы смотреть на:

  1. Если вы недавно изменили пространство имен или имена классов, старая версия dll может висеть в asp.net кэш. Часто удаление файлов здесь и восстановление решит проблему.

c:\Users\yourname\AppData\Local\Temp\Temporary ASP.NET файлы\

  1. Проверьте свои представления, чтобы убедиться, что вы ссылаетесь на правильные имена классов.

Проверьте физический каталог, в котором хранится файл CS, может быть два отдельных файла, и если не открыть .csproj в текстовом редакторе (не VS). Посмотрите, ссылается ли файл дважды. Если да, просто удалите одну из строк. Если это не сработает, вы всегда можете сделать то, что он говорит, и установить местоположение точки останова :)


попробуйте перестроить решение.

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

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


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

Я убрал (удалил) Web.Освобождать.config из моего проекта, перекомпилированное решение, а затем поставить Web.Освобождать.config обратно.

теперь все работает просто отлично. Какое странное поведение. :)