Не удается войти в исходный код .NET с помощью VS2008 SP1

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

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

Что дает?

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

Ответы

Ответ 1

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

EDIT: начните отладку любого приложения, которое у вас есть, и нажмите CTRL + ALT + U, чтобы получить список модулей. Он показывает, какая сборка в GAC используется для приложения

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

Ответ 2

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

Ответ 3

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

Затем я перешел к настройкам проекта и установил Target Platform на "Any CPU", а затем произошло волшебство, по умолчанию Target Platform - "x86".

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

Попробуйте эту инструкцию, я все хорошо работает!

Ответ 7

Я столкнулся с той же проблемой на разных машинах. Я получаю это прямо сейчас на Win7 x86 с .NET v2.0.50727 CLR (3.5sp1). Наиболее квотированный post не помогает. Обратите внимание, что "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 - doens't work

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