Хорошо, что у меня есть:
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
- изменил Framework Framework каждого проекта с 3.5 на 4.0
- Открыл Решение на моей второй машине => Такое же поведение
- просканировал Microsoft Connect на предмет ошибок / похожих проблем
- Потратил 7 часов.
Итак, это происходит второй раз в моей жизни. В прошлый раз я решил эту проблему, удалив папку временных файлов ASP.NET, но на этот раз мне нужна ваша помощь.
Ответы:
Щелкните правой кнопкой мыши по решению -> Свойства
Посмотрите под Общие свойства -> Startup Project
Выберите несколько проектов запуска
выберите Начать действие над проектами, которые нужно отладить.
источник
У меня была та же проблема, и после поиска в Google я нашел два типичных решения для этого:
Убедитесь, что в проекте .Web активирован отладчик Silverlight. Откройте свойства проекта и выберите отладчик Silverlight на вкладке «Интернет».
Перезапустите Visual Studio и удалите все папки bin и obj.
Но ничего из этого не помогло мне . Затем кто-то упомянул о том, что вместо браузера можно использовать IE. Это заставило отладку и точки останова снова работать!
Редактировать:
Позже я боролся с IE9, не работающим, потому что он привязан к неправильному процессу. Вместо того, чтобы каждый раз вручную подключаться к правильному процессу IE, я обнаружил хитрый трюк :
Теперь Visual Studio запустит IE при запуске проекта .Web и подключится к правильному процессу. Это должно сделать это.
источник
Всякий раз, когда у меня возникала эта конкретная ошибка, оказалось, что папка, из которой Visual Studio загружает сборки, отличается от папки, из которой запускается веб-приложение.
То есть сервер приложений запускает приложение из
но Visual Studio отлаживает от
Примечание. По разным причинам я выполняю отладку с помощью IIS в качестве хоста приложения, а не изощренной автономной штуковины, которую использует большинство людей. Это может повлиять на полезность моего ответа!
Обновление :
Для IIS каталог сервера приложений (т. Е.
C:\dev\MyApplication
Выше) - это физический каталог, настроенный для веб-приложения, которым можно управлять, изменяя основные параметры приложения.Для Visual studio каталог отладки (то есть
C:\dev\MyOtherApplication
выше) - это каталог, в которомsvc
находятся ваши файлы, обычно это тот же каталог, что иcsproj
файл вашего проекта.источник
Проблема для меня оказалась в том, что в настройках Debug был установлен флажок Properties-> Build-> Optimize code. Выключил, перестроил, и отладка работала как обычно.
источник
Причина того, с чем вы столкнулись, заключается в том, что PDB («PDB означает« База данных программ », проприетарный формат файлов (разработанный Microsoft) для хранения отладочной информации о программе) не устарели, это может быть связано с некоторыми причинами. :
1- Как сказал Беван, вы можете отлаживать другое приложение!
2- Вы отлаживаете другую версию того же приложения. Например, вы прикрепили ранее построенное приложение с текущей версией кода для отладки без (пере) его сборки.
Очистка или восстановление решения решает такие проблемы для меня.
Чтобы убедиться, что проблема не ваша, попробуйте отладить то же приложение с VS 2008 (боюсь, это может быть ошибкой в VS 2010 - она все еще бета!).
источник
У меня была та же проблема, я отлаживал свой проект, и мне пришлось щелкнуть правой кнопкой мыши проект и выбрать «новый экземпляр отладки». Мне нужно было сделать это только один раз, после этого все заработало как обычно.
источник
Эта ошибка время от времени возникает для меня, и я всегда могу отследить ее до настроек проекта для соответствующей сборки. Вам не нужно «ждать», пока ваш код не будет соответствовать точке останова или пока вы не установите точку останова, чтобы узнать, какие сборки имеют загруженные символы.
Когда вы запускаете проект в режиме отладки, он показывает в окне «Вывод», какие сборки имеют загруженные символы, как показано ниже (вам может понадобиться открыть изображение в новой вкладке):
Так что в этом случае BASD.Core.Data.dll НЕ имеет загруженных символов. Таким образом, вы можете сравнить настройки проекта для этой сборки с настройками другой сборки, которой удалось загрузить символы, чтобы выяснить, почему некоторые загружают, а некоторые не загружают символы.
«Для меня», однако, «каждый раз» это происходит потому, что информация об отладке не создается. Поэтому я открываю Свойства проекта> Сборка> Дополнительно в (C #) проекте.
Таким образом, для Basd.Core.Data.dll выше, т.е. без символов, дополнительные параметры сборки были:
Принимая во внимание, что для Basd.Core.Configuration.dll, т. Е. Для сборки, в которой я мог установить и достичь точки останова, были следующие настройки:
Таким образом, я выводлю отладочную информацию в последнем проекте, а не в первом, поэтому моя способность достигать точки останова в Basd.Core.Configuration.dll
Также обратите внимание, что недостаточно просто иметь файл .pdb в папке bin проекта для данной библиотеки DLL, поскольку он может быть устаревшим и поэтому не может быть выбран Visual Studio в качестве допустимого файла символов для библиотеки DLL. ты пытаешься пройти.
Также обратите внимание, что изменение конфигурации сборки может изменить настройки информации о сборке и то, откуда берутся символы.
(Я понимаю, что в этом случае я нахожусь в режиме Release, но метод все еще применяется)
источник
Перейти к Свойствам проекта -> Построить -> Дополнительно ...
В разделе «Вывод» выберите «полный» в раскрывающемся меню «Отладочная информация».
источник
Убедитесь, что ваша программа работает в режиме отладки, а не в режиме RELEASE.
источник
Отладка -> Присоединить к процессу ->
выбрать Отладка следующих типов кода: опция ->
выбрать Managed v3.5, v3.0, v2.0 или Managed v4.5, v4.0
источник
Я только что решил эту проблему в соответствии с развертыванием приложений Silverlight . (Этот ответ является дубликатом некоторых других, но я попытаюсь объяснить его более подробно.)
Проблема, скорее всего, заключается в том, что ваше приложение Silverlight неправильно развертывается в веб-приложении при сборке / запуске. Это проблема со ссылками - она проста для понимания, но не очевидна, когда вы впервые сталкиваетесь с ней.
Как и любая другая ссылка на проект, выходные данные ссылочного проекта должны быть скопированы в папку bin ссылочного проекта для отладки. Для библиотек классов это происходит, когда вы щелкаете правой кнопкой мыши и выбираете «Добавить ссылку ...». Для Silverlight вы должны добавить ссылку через Свойства проекта.
Это добавляет ссылку на приложение Silverlight из веб-приложения вашего хостинга и гарантирует, что
xap
файл будет скопирован в веб-приложение при сборке или развертывании. Это означает, что текущее приложение Silverlight и его файлы отладки находятся внутри отлаживаемого приложения, и вы сможете пройтись по коду.источник
Если вы отлаживаете веб-проект, убедитесь, что в вашем файле web.config установлен атрибут debug = "true":
источник
У меня была та же проблема в Windows 7, и я попробовал все : почистил DLL, исследовал список модулей, выключил «Just My Code» и так далее.
Проблема была решена после того, как я запустил Visual Studio "как администратор". Честно. Почему Microsoft не может просто предупредить меня, что она не работает «как администратор»? Это сэкономило бы мне несколько часов работы.
источник
Для меня проблема заключалась в том, что у меня была включена опция «Оптимизировать код» на вкладке «Сборка» настроек моего проекта.
источник
Была такая же проблема
По какой-то причине одна из DLL была зарегистрирована в GAC, поэтому она всегда отличалась от кода.
Как только я удалил его из GAC, проблема была решена
источник
Для тех, кто читает, которые используют 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), откройте ваш сайт в браузере и перейдите на страницу, которая достигнет вашей точки останова.
РЕДАКТИРОВАТЬ:
Сегодня я заметил, что если вы попытаетесь отладить проект, который не задан в качестве начального проекта, он покажет это. Когда вы присоединяетесь к процессу w3wp.exe, он думает, что его отладка в проекте, который задан как стартовый проект. Чтобы решить, просто щелкните правой кнопкой мыши проект веб-приложения и выберите «Установить как стартовый проект». Затем попробуйте снова присоединиться к вашему процессу.
источник
Сценарий таков: конкретный проект - это ваш стартовый проект (например, имеет метод Main). Этот проект ссылается на другие проекты в вашем решении. Точки останова в других проектах не получают удар.
Быстрое решение: когда вы создаете свое решение, ищите путь вывода Build (обычно bin \ Debug) для запуска проекта. Посмотрите на файлы DLL и PDB для проектов, на которые вы ссылаетесь. Убедитесь, что дата их последнего изменения - это дата, когда вы в последний раз создавали свое решение. Если это не так, скопируйте их из выходного пути сборки для каждого проекта в свои стартовые проекты. Выходной путь сборки. Например:
Проект А имеет Главное. Он ссылается на проект B. Ваши точки останова не попадают в проект B. Скопируйте файл DLL и PDB из выходного пути сборки B проекта B в выходной путь сборки проекта A. Затем запустите ваше решение. Точка останова теперь будет достигнута.
Теперь вам нужно выяснить, почему Project A не копирует файлы DLL и PDB Project B. Ответы здесь охватывают большинство сценариев. Один из сценариев, который не был затронут, - убедиться, что ваши проекты и решения правильно связаны с TFS. Некоторые проекты были связаны, а некоторые неправильно. Это вызвало проблему для меня. Когда я это исправил, проблема исчезла, и мне больше не нужно было копировать файлы DLL и PDB.
источник
Решением той же проблемы в моем случае была следующая комбинация шагов:
источник
Чтобы исправить эту проблему в Web.config, мне просто нужно было добавить
debug="true"
Что помогло мне найти это решение, так это просмотр окон Модулей во время отладки и обнаружение того, что для моих загруженных библиотек DLL ASP.NET у меня было: двоичный файл не был собран с отладочной информацией.
источник
У меня была такая же проблема, но в VS2013 для веб-приложения. Для меня ответом было обновить конфигурацию сборки для решения:
Как только я сделал это, все мои контрольные точки начали работать.
источник
Хорошо, здесь мы идем:
(В «приложении Silverlight»: пожалуйста, сначала проверьте, что Silverlight отмечен в «web» в «свойствах» проекта вашего сервера. Если это не помогло, попробуйте это ниже)
В первый раз выполните: сначала запустите: devenv.exe / ResetSettings и 1: в верхнем меню нажмите на тег отладки 2: выберите параметры и настройки 3: в «отладке» и в «общем» найдите «включить пошаговое выполнение исходного кода .net framework» 4: поставьте галочку 5: И теперь все символы будут загружены и перенастроены :)
Если после описанного выше это произойдет снова, просто очистите папку, в которой находятся символы:
1: в верхнем меню нажмите на тег отладки 2: выберите параметры и настройки 3: в «отладке» и в разделе «символы» найдите кнопку «пустой кэш символов» и нажмите ее.
источник
Откройте URL-адрес веб-приложения в браузере, а затем в интегрированной среде разработки VS.Net выберите Сервис -> AttachtoProcess.
затем присоедините к aspnet_wp.exe.
Отладчик начнет работать
источник
Мне пришлось вручную удалить все экземпляры .dll из реестра и все экземпляры .dll с моего локального диска. Деинсталлировал / переустановил мое приложение и теперь я бью точки останова! Потратил пол дня на это :(.
источник
Я попытался переименовать
.pdb
файл вobj\debug
папке и сделал чистое решение и восстановить.Он создал новый
.pdb
файл, и я смог правильно поразить точки останова.источник
У меня была та же проблема - я потерял много времени, пытаясь заставить работать отладку в Visual Studio.
В итоге получилось Nuget - у меня было 3 версии Newtonsoft.Json (в 7 проектах на C #). Решение скомпилируется, но не может быть отлажено.
Я исправил эту проблему, запустив в консоли диспетчера пакетов Nuget следующее:
PM> Обновление-пакет Newtonsoft.Json
источник
Для моего приложения WPF я удалил папку приложения, снова сделал «Получить последнюю версию» из системы контроля версий и перестроил. Все контрольные точки работают отлично.
источник
Попробуйте установить Silverlight Application Project как стартовый проект: щелкните правой кнопкой мыши проект -> «Установить как стартовый проект». Затем нажмите F5 и посмотрите, сможете ли вы поймать точки останова ...
Попробуйте удалять данные браузера / температуры в вашем браузере каждый раз, когда вы вносите изменения в приложение Silverlight
источник
Еще один анекдот, который может быть полезен
Я столкнулся с этой проблемой, когда один из моих проектов использовал ссылки на файлы из выходной папки выпуска. Когда результаты сборки были помещены в папку товаров, эти библиотеки выпуска перезаписывали библиотеки отладки.
Решением было убедиться, что в файле csproj HintPath моей ссылки был
<HintPath>..\..\Core\Goods\$(Configuration)\MyFramework.dll</HintPath>
и нет
<HintPath>..\..\Core\Goods\Release\MyFramework.dll</HintPath>
источник
У меня возникла эта проблема, когда на клиенте, где - для каждого решения приложения - они копировали большинство общих сборок в папку « Ссылки », а затем добавляли их в решение как « Элементы решения » и как « Проект » в решении.
Пока не уверен, почему, но некоторые из них были отлаживаемыми, некоторые нет, хотя в настройках ссылок для сборок были указаны правильные полные пути.
Такое непредсказуемое поведение почти сводило меня с ума :)
Я решил эту проблему, удалив все сборки из папки « Ссылки », для которых были проекты с исходным кодом, и очень хорошо отслеживая информацию о версии для общих сборок.
источник
У меня была похожая проблема, за исключением того, что моя проблема была глупой - у меня было 2 экземпляра встроенного веб-сервера, работающего под 2 разными портами, и у меня был мой проект -> свойства -> веб -> «Начальный URL», указывающий на фиксированный порт, но веб-приложение на самом деле не работало под этим портом. Таким образом, мой браузер был перенаправлен на «Начальный URL», который ссылался на 1539, но экземпляр кода / отладки работал под портом 50803.
Я изменил встроенный веб-сервер для работы с фиксированным портом и настроил свой «Начальный URL», чтобы использовать этот порт. проект -> свойства -> web -> раздел «Серверы» -> «Использовать Visual Studio Development Server» -> определенный порт
источник