Почему я иногда сталкиваюсь с этой проблемой, когда точки останова не достигаются при попытке отладки?

#c# #visual-studio

#c# #visual-studio

Вопрос:

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

Существует копия файла исходного кода, которая отличается.

Почему при попытке отладки загружается несколько версий моего исходного кода?

Я даже выполняю чистую компиляцию и все равно получаю эту ошибку.

Комментарии:

1. В основном я понимаю это по двум причинам: 1. Проект, который вы пытаетесь скомпилировать, был проверен как не скомпилированный (см. Конфигурацию решения) и 2. Ваше решение или проект, который вы запускаете, находится в режиме выпуска, а не отладки. Вы проверили это?

Ответ №1:

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

  1. Платформа / конфигурация вашего сеанса отладки (например, Debug / x64) не соответствует скомпилированной архитектуре .exe или .dll. или
  2. То, что вы считаете «чистой компиляцией», на самом деле не является чистым.

Единственный исходный код, о котором знает Visual Studio, — это тот, который перед вами. Но когда Visual Studio отлаживает файл .exe или .dll, он подключается к процессу .exe или .dll, используя отражение и анализируя его код .exe/.dll . Он определил, что ваш .exe/.dll не соответствует платформе / конфигурации, которую вы хотите отлаживать, или ее отраженный исходный код не соответствует написанному коду, который находится перед вами в IDE Visual Studio.

Когда вы говорите, что выполняете чистую компиляцию, убедитесь, что она действительно действительно чистая (не полагайтесь на «чистую» функцию Visual Studio. Это ненадежно во всех случаях. Например, если вы создали события сборки, которые копируют содержимое до или после компиляции. Вместо этого удалите папки /bin и / obj вашего проекта, а затем перекомпилируйте. Это гарантирует, что ваши двоичные файлы всегда будут соответствовать вашему последнему коду для отладки. Сделайте это несколько раз и посмотрите, все ли еще возникает проблема.

Комментарии:

1. Я также нажал на IIS express на своей панели инструментов и закрыл ее down…no измениться. Я только что перезагрузился, и теперь это работает? Полезные советы по удалению папки / bin и т. Д.

Ответ №2:

У меня была такая же ошибка в VS 2019. Я решил так;

Инструменты-> Параметры-> Удаление ошибок-> Общие и «Требовать, чтобы исходные файлы точно соответствовали исходной версии» отмените выбор этой опции