Не удается войти в источник .NET Framework с пакетом обновления 1 (SP1) VS2008 - PullRequest
14 голосов
/ 18 февраля 2009

Каким-то образом мой VS2008 SP1 потерял способность входить в источники .NET Framework. Я играл с флажками до бесконечности; Я повторно удалял папку кеша Symbol десятки раз; и я попробовал все виды серверов символов отладки.

Все, что он делает, это загружает некоторые файлы .PDB, но когда я пытаюсь выбрать кадр стека в .NET, я всегда получаю сообщение о том, что источник недоступен, и "вы хотите просмотреть разборку".

Что дает?

Добавлено: Веб-приложение; Windows Vista Business x32; .NET 3.5 SP1.

Ответы [ 7 ]

3 голосов
/ 19 февраля 2009

Я считаю, что ваша проблема - несоответствующая версия .Net, работающая в вашей Системе, по сравнению с версией образа в pdb, загружаемой с сервера символов. У меня была такая же проблема на 64-битной Vista и Win7. Мне еще предстоит найти ссылку на то, как получить сборку на 2.0.5.xxxx, как указано в инструкции. Пакет обновления 1 (SP1) со всеми пакетами обновлений на двух ОС, которые я отключил, показывает сборки в 2.0.0.xxxx

РЕДАКТИРОВАТЬ: начать отладку любого вашего приложения и нажмите CTRL + ALT + U, чтобы получить список модулей. Он показывает, какая сборка в GAC используется для приложения

Я написал в блоге, как мне кажется, лучшее описание проблемы. Блог проблемы

1 голос
/ 06 января 2011

У меня возникла проблема, из-за которой я не могу войти в исходный код Framework.

Затем я перешел к настройкам проекта и установил для Target Platform значение «Любой процессор», после чего произошло волшебство, по умолчанию для Target Platform установлено значение «x86».

Моя платформа Win7 x64, VS2010

1 голос
/ 18 февраля 2009

При входе в режим отладки откройте окно «Модули», щелкните правой кнопкой мыши компонент платформы и выберите загрузку источника с серверов Microsoft.

0 голосов
/ 15 октября 2009

Я сталкивался с одной и той же проблемой на разных машинах. Я понял это прямо сейчас на Win7 x86 с .NET v2.0.50727 CLR (3.5sp1). Самая цитируемая запись не помогает. Обратите внимание, что «Microsoft Symbol Server» НЕ является исходным сервером с источниками .NET. Он размещает PDB без информации об источнике (не индексируется). Для источников .NET нам нужны индексированные PDB из "http://referencesource.microsoft.com/symbols" и поддержка исходного сервера. Но иногда это перестает работать. Я предполагаю, что проблема с невозможностью загрузить индексированные PDB .net (как упоминалось ранее) связана с конфликтами версий.

Я могу сказать только это:

WinServer 2008 R2 3.5.30729.4926 - работает

Win7 x86 3.5.30729.4918 - не работает

Что я имею в виду под «не работает»: попробуйте «загрузить из пути символов» (из окон модуля или стека, не имеет значения) и получить диалоговое окно для выбора .pdb (расположено, например, в C: \ Windows \ сборка \ GAC_32 \ mscorlib \ 2.0.0.0__b77a5c561934e089 \ mscorlib.pdb). То есть VS не может скачать pdb для dll. Абсолютно те же действия на WinSrv2008r2 заставляют VS загружать pdb и (если включена поддержка исходного сервера) исходники.

0 голосов
/ 19 февраля 2009

Попробуйте это инструкция, у меня все отлично работает!

0 голосов
/ 19 февраля 2009

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

0 голосов
/ 18 февраля 2009

Я сталкивался с этим несколько раз в 2005 году. Многое из этого является вуду и, вероятно, не имеет значения, но где-то здесь ответ (который работает для меня):

  1. Убей услугу
  2. Удалить все локальные .pdbs
  3. Избавьтесь от временных файлов в (например) C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files (либо только файлы, связанные с проектом, либо все из них)
  4. Перезапустить службу
  5. Если это не сработало, повторите 1-4, перезагрузитесь и попробуйте
...