Медленная загрузка символов в проекте ASP.NET в VS2012
У меня возникла проблема с загрузкой символов в моем проекте ASP.NET MVC. В первый раз, когда я загружаю визуальную студию и отлаживаю свой проект, символы загружаются примерно через 2 секунды. Затем я завершаю сеанс отладки, делаю модификацию кода и снова отлаживаю, а время загрузки символа составляет около минуты. Основываясь на проведенных нами исследованиях, вот некоторые применимые настройки на моей машине /VS:
В папках "Параметры/Отладка/Символы/Символы" "Серверы Microsoft Symbol Servers" не отмечены, а дополнительных мест нет.
Параметры/Отладка/Символы/Символы кэша в этом каталоге - "G:\Symbol Cache". Я нажал "Загрузить все символы", и я осмотрел этот каталог, и я вижу много символов.
Только мой код включен.
Переменные среды _NT_SYMBOL_PATH и _NT_ALT_SYMBOL_PATH не определены на моей машине.
Параметры/Отладка/Символы/Автоматическая загрузка символов для параметра установлена только на "Только указанные модули", без указанных модулей.
Я пробовал как сборку отладки, так и выпуск, с одинаковыми результатами. Ctrl + F5 загружает сайт почти сразу.
Ответы
Ответ 1
У меня тоже была эта проблема, причина в том, что я случайно включил "Microsoft Symbol Server"
Вы можете отключить его, выбрав "Инструменты" > "Параметры" > "Отладка" > "Символы" и снимите флажок "Microsoft Symbol Server"
Теперь он загружается так же быстро, как и раньше.
Ответ 2
У меня тоже была эта проблема, и я заметил, что она в основном связана с сторонними сборками, полученными через NuGet. В этих случаях Visual Studio пыталась загрузить PDB из путей, которые, по-видимому, существовали на исходном автору (т.е. D:\OriginalAuthor\MyVisualStudioProjects\AwesomeNuGetPackage), но на моей машине тот же путь относится к оптическому диску. Затем я обнаружил через командную строку, что если вы попытались сменить каталог на оптический диск, у которого не было диска в лотке, потребовалось очень много времени (~ 30 секунд), чтобы сбой. Имея это в виду, моим решением было просто поместить DVD в лоток. В этот момент Visual Studio смогла очень быстро определить, что путь не существует, пропустить загрузку PDB и перейти прямо к отладке.
Итак, если Visual Studio занимает много времени, чтобы загрузить символы, посмотрите окно вывода для путей, к которым он пытается получить доступ, и убедитесь, что вы можете быстро получить доступ (или быстро получить доступ) к этим путям самостоятельно с помощью командной строки.
Это вызывает интересный вопрос о безопасности/конфиденциальности - очевидно, Visual Studio сохраняет абсолютный путь исходного PBD в сборке. Я полагаю, что это не очень важная проблема, но с точки зрения конфиденциальности я действительно не хочу, чтобы мои абсолютные пути файловой системы были доступны публике без моего ведома.
Ответ 3
Просто попробуйте этот отладка → Удалить все точки останова.
Его работы на меня.
Ответ 4
У меня было 2.dll, и мне было жаль, что мне не нужно было отлаживать то, что начиналось с загрузки минут. Вышеупомянутые решения не помогли. Поэтому я перешел в "Параметры" → "Отладка" → "Символы" и под кнопкой "Все модули, если только не исключено", нажмите ссылку "Укажите исключенные модули". Затем введите .dll, которые вызывают проблемы.