Visual studio долго запускается

Обновлено: 07.07.2024

Мои настройки:

Я использую Visual Studio 2012 Express, в настоящее время, но у меня была та же проблема в Visual Studio 2010 Express также. Мое решение хранится на сетевом диске; в частности, это Мои Документы перенаправлены на сетевой диск, если это имеет значение. (Не должно. Бывают случаи, когда мой сайт загружается очень быстро при этой настройке.)

обычно я загружаю в Internet Explorer 9, но та же проблема возникает в Firefox.

симптомы:

система загрузит мои символы сотни раз. В основном, следующее, Но есть по крайней мере 300 таких строк, каждая с когда-либо-так-немного разными DLL-файлами для тех же CSHTMLs:

в приведенном выше, у меня есть три DisplayTemplates: "контакт", "местоположение" и "StatusCode". Похоже, что IIS загружает символы дважды для каждого вызова displaytemplate. Таким образом, если я показываю таблицу из 100 записей, которая вызывает все три из этих displaytemplates, загружается 600 отдельных символов.

это тоже не быстрая операция. При просмотре файлов журнала, создаваемых IIS, для загрузки каждого символа требуется около 200 мс. Таким образом, сверхдлинные задержки.

что я пробовал:

  • Debug или release версию, это не имеет значения.
  • размещение моего проекта в полной реализации IIS в интернете сервер работает очень быстро без проблем. , IIS Express 7.5 и IIS Express 8.0 все имеют проблему.
  • удалить все точки останова ничего не делает.
  • Очистить Решение или удаления .СУО тоже ничего не делает.
  • если я восстанавливаю IIS Express или удаляю My DocsIISExpress папка или восстановление/переустановка Visual Studio → проблема может уйти, но только на некоторое время, прежде чем она придет в норму спина.

любой совет вообще приветствуется.

обратите внимание, что эта машина имеет Symantec Endpoint Protection, которая имеет историю причинения ущерба. Но отключение его сразу (хорошо быть администратором) не исправило проблему.

у меня есть теория на данный момент. Я думаю, что это все потому, что я работаю с перенаправленной папкой из сетевого ресурса. Пока отладчик просматривал сотни строк "загруженных символов", я остановился, чтобы посмотреть, что он делает. Это было в моем код, загружающий DisplayTemplate у меня. Шагнув в шаблон, выведите следующее:

похоже, Visual Studio перекомпилирует мой displaytemplate каждый раз это называется, что снова, сотни раз. Моя теория заключается в том, что Visual Studio компилирует файл, сохраняет его в сетевом ресурсе, сетевой ресурс затем каким-то образом штампует на нем новое время, а Visual Studio затем думает, что файл изменился, и, таким образом, Visual Studio перекомпилирует его еще раз. Только теория хотя, я действительно понятия не имею.

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

плюс, перемещение моего проекта, как есть, на локальный C: исправляет его. Он загружается очень быстро. Но это не идеально в рабочей среде. Я теряю предыдущие версии, мой код не копируется вообще, если я не скопирую его вручную, и он больше никому не доступен.

Я могу сделайте с копированием его взад и вперед от C к сетевому ресурсу, если дело доходит до него. Гораздо более раздражает ждать две минуты для каждой загрузки страницы.


После написания прошлой статьи, я понял, что у меня осталось еще некоторое количество информации, не относящейся к ускорению компиляции решения, но позволяющей несколько повысить производительность самой Visual Studio в процессе работы над кодом. А поскольку мы все-таки работаем над кодом изрядное количество времени, намного приятнее делать это в быстро работающей IDE. К сожалению, в этой статье не будет графиков, поскольку весьма тяжело измерить, насколько стало быстрее открываться меню или какое-то окно. Тем не менее, я надеюсь, что кто-то может найти для себя в этих советах что-то ценное и сэкономить себе немного времени.

Добавьте /nosplash к ярлыку запуска Visual Studio
Честно говоря, время запуска уменьшится не сильно, но психологически будет казаться, что Студия грузится быстрее.

Отключите кнопку F1
Это делается в «Environment->Keyboard». Вы ведь всё-равно не пользуетесь этой кнопкой, правда? А если случайно нажмёте, то, в зависимости от версии VS начнут открываться новые окна или запуститься браузер — всё это весьма долго.

Выключите анимацию
«Environment->General->Animate environment tools». Оставим анимацию фанатам красивостей. А мы ведь суровые программисты, нам ни к чему.

Отключите стартовую страницу
Она занимает время при запуске студии (в особенности, если лезет в Интернет за всякими новостями и советами). Отключается в «Environment->Startup».

Выключите «Track Active Item in Solution Explorer»
Неужели Вы правда ею пользуетесь? Если нет — выключите. Отключается в «Projects and Solutions»

Отключение разнообразных красивостей
Вот тут об этом написано детальнее. Отключается в «Environment->General->Visual experience»

Удаление лишних плагинов
Каждый плагин — это минус к производительности Студии. Если у Вас стоит что-то лишнее — удаляйте.

  • Закройте Visual Studio.
  • Удалите все .ncb файлы для Вашего решения.
  • Удалите или переименуйте файл C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\feacp.dll (часть «9.0» отличается для разных версий Visual Studio).

Запуск Студии и компиляция проекта перед приходом на работу
На моей рабочей машине каждое утро, за час до моего прихода на работу запускается скрипт, закрывающий Visual Studio, делающий update кода из репозитория и по-новому запускающий Студию и компиляцию решения в ней. Приходя на работу я вижу откытую IDE, в которой сразу видно текущее состояние решения (компилируется\нет) и лог процедуры update, по которой понятно что именно изменилось со вчерашнего вечера. Всё это экономит мне 10 минут ежедневно.

Система Visual Studio рассчитана на максимально быстрый и эффективный запуск. Однако загрузка некоторых расширений и окон инструментов Visual Studio может негативно повлиять на время запуска. Вы можете управлять поведением медленных расширений и окон инструментов в диалоговом окне Управление производительностью Visual Studio. Дополнительные сведения о повышении производительности см. в рекомендациях по оптимизации работы Visual Studio.

Поведение при запуске

Чтобы избежать задержек при запуске, Visual Studio загружает расширения по запросу. Это означает, что расширения открываются не сразу после запуска Visual Studio, а по мере необходимости. Кроме того, поскольку окна инструментов, оставшиеся открытыми в предыдущем сеансе Visual Studio, могут увеличить время запуска, Visual Studio более разумно открывает окна инструментов, чтобы исключить влияние на время запуска.

В этом диалоговом окне перечислены расширения и окна инструментов, которые влияют на производительность при запуске. Вы можете изменить параметры расширения и окна инструментов, чтобы повысить производительность при запуске.

Изменение параметров расширения для ускорения запуска, загрузки решений и ввода данных

Откройте диалоговое окно Управление производительностью Visual Studio, выбрав элементы Справка > Управление производительностью Visual Studio в строке меню.

Если расширение замедляет запуск Visual Studio, загрузку решений или ввод данных, оно отображается в разделе Расширения > Запуск (либо Загрузка решения или Ввод с клавиатуры) диалогового окна Управление производительностью Visual Studio.

Представление расширений "Управление производительностью Visual Studio"

Выберите расширение, которое нужно отключить, и нажмите кнопку Отключить.

Чтобы в любой момент повторно включить расширение для будущих сеансов, воспользуйтесь диспетчером расширений или диалоговым окном Управление производительностью Visual Studio.

Изменение параметров окна инструментов для ускорения запуска

Откройте диалоговое окно Управление производительностью Visual Studio, выбрав элементы Справка > Управление производительностью Visual Studio в строке меню.

Если окно инструментов замедляет запуск Visual Studio, оно отображается в разделе Окна инструментов > Запуск диалогового окна Управление производительностью Visual Studio.

Выберите окно инструментов, поведение которого хотите изменить.

Выберите один из следующих трех параметров:

Использовать поведение по умолчанию. Поведение по умолчанию для окна инструментов. Если оставить выбранным этот параметр, производительность при запуске не повысится.

Не показывать окно при запуске. При выборе этого параметра указанное окно инструментов всегда будет закрытым при открытии Visual Studio, даже если оно было оставлено открытым в предыдущем сеансе. При необходимости вы можете открыть окно инструментов из соответствующего меню.

Автоматически скрывать окно при запуске. Если окно инструментов было оставлено открытым в предыдущем сеансе, этот параметр позволит сворачивать группу окон инструментов при запуске, чтобы не открывать окно инструментов. Этот вариант удобен при частом использовании окна инструментов. При этом окно по-прежнему доступно, но больше не оказывает негативное влияние на время запуска Visual Studio.

Представление окон инструментов "Управление производительностью Visual Studio"

В версиях Visual Studio, предшествовавших 2017, была представлена функция загрузки упрощенного решения. В текущих версиях крупные решения, содержащие управляемый код, загружаются значительно быстрее, чем раньше, даже без функции загрузки упрощенного решения.

Я ничего не думал об этом в первый раз, и я начал делать ccleaner для запуска файлов и очистки реестра (я сделал резервную копию реестра). Я также прошел обновление Windows в соответствии с обычной процедурой. Перезапустил снова для обновлений и заметил, что он снова завис.

Я попытался объединить реестр из резервной копии ccleaner, но он выдал ошибку при доступе к реестру. Я был в состоянии объединить реестр сегодня , так что все хорошо там.

Я также пробежал через Дополнительные параметры запуска, Автоматическое восстановление, но он сказал, что не может восстановить.

Я удалил Visual Studio 2012, 2010, XNA и Games for Windows, и время загрузки все еще занимает 20 минут. Кажется, что компьютер работает нормально после загрузки. Раньше я думал, что виновником может быть Visual Studio или Norton, поскольку он выдал мне Error 8506, 421 ; Я удалил Нортон прошлой ночью и переустановил сегодня.

Мой компьютер - это ноутбук Asus K-Series (K55N, а точнее K55N-RHA8N29).

Что я должен сделать, чтобы вернуть мой компьютер в нормальное состояние?

РЕДАКТИРОВАТЬ:

Я установил Team Foundation Server, который является исходным кодом Microsoft, но не смог заставить его работать, так как он вызывал сбой Visual Studio при открытии проектов. Я удалил Team Foundation Server и Visual Studio 2012, а затем переустановил VS 2012. Вместо этого я получил TortoiseSVN и настроил команды контекстного меню.

Кроме того, взглянем на msconfig: при выборе запуска у него есть Selective Startup с Load system services и проверка Load startup items (я не менял). Должно ли это быть Normal startup ? - Просто прочитайте, когда вы выполняете расширенную диагностику (вероятно, такую же, как параметры расширенного запуска), она меняется с Normal на Selective . Я изменил его на Normal, но не перезапустил, чтобы увидеть результаты.

РЕДАКТИРОВАТЬ 2:

Изменить 3:

После запуска xbootmgr (предложено magicandre1981) у меня есть хороший файл журнала о том, что происходит. Хотел бы я знать, как лучше анализировать эти данные. Из журнала я узнал, что начальная фаза Winlogon Init заняла 25 минут. Я мог бы использовать некоторую помощь, анализируя этот файл журнала лучше, чтобы получить больше информации.

Вот загрузка двух следов, которые я сделал: ** удален *

анализатор трассировки

Изменить 4 (4/5 - 6:23 вечера):

Я собирался попытаться удалить проблемный шрифт, подключив жесткий диск к другому компьютеру, но он не был распознан на компьютере под управлением Windows XP с моим адаптером SATA to USB. Я положил жесткий диск обратно и загрузил, но ноутбук, и он пошел очень быстро, как раньше. Я выключил его и снова включил, и он снова стал медленным. Просто думал, что поделюсь проблеском надежды.

Изменить 5 (4/5 - 8:21 вечера):

Я наконец-то избавился от этого чертовски неприятного шрифта. Для дальнейшего использования, шрифт был Kozuka от Adobe. Потребовалось много работы, чтобы избавиться от этого. Казалось, операционная система зацепилась за нее и не хотела отпускать. Я скачал NexusFont и избавился от всей семьи, но остались еще два файла ( KozMinPro-ExtraLight.otf и KozMinPro-Regular.otf ), которые застряли в папке «Системный шрифт», видимой только через соглашение о пути UNC ( \\computer-name\c$\Windows\Fonts ). Пришлось использовать команду cmd ( rd /s c:\$Recycle.Bin ), чтобы очистить корзину и использовать команду del чтобы окончательно избавиться от файлов. Время загрузки сокращается до 7 минут, что лучше, но не возвращается к норме.

Вот пара следов от 7-минутных ботинок: ** удалены *

Разъяснение (8:47 вечера) - я выключился и запустился, и теперь все идет как обычно. Не сказать, что это решено, но возможно. Трассировки по сути перезапускаются и продолжаются 7 минут, но без трассировки перезапуск занимает около 3 минут (не знаю, как долго в обычном режиме). Завершение работы и включение снова, похоже, работают расплывчато.

Изменить 6 (4/6 12:03 вечера):

Читайте также: