Точка останова в настоящее время не будет достигнута. Для этого документа в приложении Silverlight не было загружено никаких символов - PullRequest
327 голосов
/ 20 февраля 2010

Хорошо, что у меня есть:

Visual Studio 2010 RC, W7 x64, запустил новый тип проекта приложения Silverlight. Размещение приложения Silverlight в проекте веб-приложения ASP.NET. Версия Silverlight 3.0. Добавлены класс LinqToSQL, служба WCF, приложение Winform Tester (проект в решении) и несколько классов (также как проекты в решении).

Вчера внезапно я получил «Точка останова в настоящее время не будет достигнута. Для этого документа не было загружено никаких символов. ' сообщение появляется в IDE, но оно влияет только на веб-приложение, я могу отлаживать Silverlight и приложение Winform.

Что я пытался / сделал, чтобы избавиться от сообщения:

  • Сброс настроек Visual Studio
  • удалил все файлы в каждой \ Temporary ASP.NET Files Folder (есть один для каждых 32-битных / 64-битных и для Framework 2.0 и 4.0)
  • пытался отлаживать с помощью интегрированного веб-сервера Visual Studio - обычно я использую IIS, в выходных данных проекта решения я удалял все папки obj и bin в каждой папке проекта
  • создал новое решение и добавил все проекты в это новое решение
  • удалил файл suo решения
  • создал новое веб-приложение ASP.NET, чтобы проверить, является ли это проблемой установки VS => Я могу отладить этот новый проект / решение
  • перезагрузил машину несколько раз
  • восстановил установку vs.net
  • сделал IISReset
  • удалил веб-приложение из IIS
  • использовал кнопку Создать виртуальный каталог в разделе Свойства проекта веб-приложения для создания нового веб-приложения в IIS
  • изменил версию фреймворка каждого проекта с 3.5 на 4.0
  • Открыл Решение на моем втором компьютере => То же поведение
  • просканировал Microsoft Connect на наличие ошибок / похожих проблем
  • потратил 7 часов.

Так, это случается второй раз в моей жизни. в прошлый раз я решил эту проблему, удалив папку временных файлов ASP.NET, но на этот раз мне нужна ваша помощь.

Ответы [ 49 ]

9 голосов
/ 17 октября 2012

Если вы отлаживаете веб-проект, убедитесь, что в вашем файле web.config установлен атрибут debug = "true":

<system.web>
    <compilation debug="true"   .../>
8 голосов
/ 28 марта 2017

Для меня проблема заключалась в том, что я включил «Оптимизировать код» на вкладке «Построение» настроек моего проекта.

8 голосов
/ 27 января 2012

У меня была такая же проблема в Windows 7, и я попробовал все : очистил библиотеки DLL, исследовал список модулей, отключил «Просто мой код» и т. Д.

Проблема была решена после того, как я запустил Visual Studio "как администратор". Честно. Почему Microsoft не может просто предупредить меня, что она не работает "как администратор"? Это сэкономило бы мне несколько часов работы.

7 голосов
/ 29 апреля 2012

была такая же проблема

По какой-то причине одна из DLL была зарегистрирована в GAC, поэтому она всегда отличалась от кода.

Как только я удалил его из GAC, проблема была решена

7 голосов
/ 03 ноября 2015

Отладка -> Присоединение к процессу ->
выберите Отладка следующих типов кода: опция ->
выберите Managed v3.5, v3.0, v2.0 или Managed v4.5, v4.0 enter image description here

6 голосов
/ 09 марта 2012

Для тех, кто читает Visual Studio 2008, а не Visual Studio 2010 и получает эту ошибку. Ответы выше не помогли мне в этой ситуации, поэтому я делюсь своим опытом.

Если вы отлаживаете веб-приложение IIS в Visual Studio 2008, подключаясь к процессу w3wp.exe, а не используя сервер разработки ASP.NET для отладки (начните с отладки), это может быть вашей проблемой:

Visual Studio все еще может ссылаться на файл символов (файл, используемый при отладке) из вашей dll из процесса IIS, который устарел. И этот файл символов был воссоздан путем перекомпиляции исходного кода .NET, но процесс IIS все еще ссылается на старый файл символов.

Исправить:

Просто прекратите отладку в Visual Studio, перезапустите веб-приложение и заново подключитесь к процессу. Тогда точки останова снова должны измениться с желтого (когда вы видите эту ошибку) на красное.

========================

Еще кое-что попробовать (сегодня нашел новую ситуацию):

Делайте каждую пулю в ссылке ниже ОДИН РАЗ, но повторяйте мои шаги ниже для каждой, которую вы пытаетесь.

http://carnotaurus.philipcarney.com/post/4130422114/visual-studio-debugging-issue-with-files-of-the-same

1.) Остановить отладку (нажмите значок красного квадрата) в Visual Studio
2.) Чистый раствор
3.) Построить решение
4.) [ВСТАВИТЬ ИНСТРУКЦИЮ ПУЛЯ ЗДЕСЬ]
5.) Инструменты> Присоединить к процессу (или начать с отладки)
6.) Запустите программу, к которой вы подключаетесь, и запустите ее так, чтобы ваш код получил удар

6 объяснил:

Если вы подключаетесь к nunit.exe, откройте NUnit и запустите тест, чтобы ваша точка останова достигла

Если вы подключаетесь к w3wp.exe (сайт IIS), откройте ваш сайт в браузере и перейдите на страницу, которая достигнет вашей точки останова

EDIT:

Сегодня я заметил, что если вы попытаетесь отладить проект, который не задан как стартовый, он покажет это. Когда вы присоединяетесь к процессу w3wp.exe, он думает, что его отладка в проекте, который задан как стартовый проект. Чтобы решить, просто щелкните правой кнопкой мыши проект веб-приложения и выберите «Установить как стартовый проект». Затем попробуйте снова присоединиться к вашему процессу.

5 голосов
/ 03 февраля 2014

Сценарий таков: конкретный проект - это ваш начальный проект (например, имеет метод Main). Этот проект ссылается на другие проекты в вашем решении. Точки останова в других проектах не получают успеха.

Быстрое решение: когда вы создаете свое решение, ищите в пути вывода Build (обычно bin \ Debug) для запуска проекта. Посмотрите на файлы DLL и PDB для проектов, на которые вы ссылаетесь. Убедитесь, что дата их последнего изменения - это дата, когда вы в последний раз создавали свое решение. Если это не так, скопируйте их из выходного пути сборки для каждого проекта в свои стартовые проекты. Выходной путь сборки. Например:

Проект А имеет Main. Он ссылается на проект B. Ваши точки останова не попадают в проект B. Скопируйте файл DLL и PDB из выходного пути сборки B проекта B в выходной путь сборки проекта A. Затем запустите ваше решение. Теперь будет достигнута точка останова.

Теперь вам нужно выяснить, почему Project A не копирует файлы DLL и PDB проекта B. Ответы здесь охватывают большинство сценариев. Один из сценариев, который не был затронут, - убедиться, что ваши проекты и решения правильно связаны с TFS. Некоторые проекты были связаны, а некоторые неправильно. Это вызвало проблему для меня. Как только я это исправил, проблема исчезла, и мне больше не нужно было копировать файлы DLL и PDB.

4 голосов
/ 28 февраля 2012

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

  1. Решение -> Свойства. Выберите несколько запускаемых проектов, выберите Начать действие для проектов, которые необходимо отладить.
  2. Удален сервис из сервисных справок и очищено решение.
  3. Перестроить сервисный проект
  4. Добавил его обратно в сервис. Ссылки
  5. Очистите решение и восстановите его.
4 голосов
/ 03 сентября 2014

Чтобы исправить эту проблему в Web.config, мне просто нужно было добавить debug="true"

  <system.web>
    <compilation targetFramework="4.0" debug="true">

Что помогло мне найти это решение, так это то, что во время отладки окна Модули обнаруживали, что для моих загруженных библиотек DLL ASP.NET у меня было: Двоичный файл не был собран с отладочной информацией.

3 голосов
/ 02 декабря 2014

У меня была такая же проблема, но в VS2013 для веб-приложения. Для меня ответом было обновить конфигурацию сборки для решения: -

  1. Щелкните правой кнопкой мыши Решение и выберите Свойства
  2. Выберите конфигурацию отладки
  3. Выберите "Конфигурация" в разделе "Свойства конфигурации" в trivet
  4. Установите флажок «Сборка» для каждого проекта, который вы хотите отладить

Как только я это сделал, все мои контрольные точки начали работать.

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