У нас есть действительно большое решение с более чем 200 проектами и тысячами файлов. Несмотря на это, решение, которое довольно быстро загружалось в Visual Studio 2010, а также в 2012 году. Однако после копирования всего хранилища SVN в другое место загрузка и закрытие решения внезапно потребовали много времени. (Я говорю здесь через 30-60 минут!)Почему для загрузки моего решения в Visual Studio требуется sooo?
ответ
Я нашел решение самостоятельно, и я хотел поделиться им здесь, надеясь, что он может сэкономить несколько часов исследований и посмотреть на «Готовое решение .. . ".
При проверке процесса devenv.exe с помощью Process Monitor я узнал, что он довольно занят доступом к каталогу .svn
. Вот что я сделал (и это как-то решить эту проблему):
- убийств Visual Studio
- Open Visual Studio без загрузки является решением
- Отключить AnkhSVN в качестве подключаемого модуля управления источником (Tools-> Options-> Источник Control-> Plug-in Selection-> None)
- Отключить «Document Well 2010 Plus» (VS2010) или «Custom Document Well» (VS2012) в разделе «Электроинструменты» (Инструменты-> Опции-> Производительность электроинструментов) - Я прочитал это где-то, и это могло бы помочь ...
- Закрыть Visual Studio
- Удалить файл решения
*.suo
. Это расположено в той же папке, что и само решение. Примечания: Вы потеряете несколько параметров для решения, как открытые файлы, контрольные точки, закладки, текущая конфигурация решения & платформы (например, отладки x86) и т.д. - Restart Visual Studio
- Загрузить решение - это было много быстрее!
- Закрыть Visual Studio
- Open Visual Studio без загрузки решения
- Повторное включение AnkhSVN и "Document Well"
- Restart Visual Studio
- Открыть решение - это еще загружается за считанные секунды!
Я не знаю, какой из этих шагов действительно решил проблему. Возможно, не все эти шаги необходимы, но я не хотел воспроизводить проблему, чтобы выяснить, какие шаги могут быть опущены. :)
Я пробовал выше, но это не решило мою проблему.
Вот как я обойти эту проблему, мы надеемся, он будет работать для некоторых из вас, а также:
- Open Visual Studio 2013 без каких-либо решения.
- Создайте новое приложение консоли C# и сохраните его.
- Закрыть Visual Studio.
- Восстановить консольное решение, созданное на этапе 2.
- Закрыть Visual Studio.
- Заново откройте решение, которое ранее висело на диалоге Подготовка решения. Шахта открылась сразу, больше не висела.
fwiw, я понимаю, что это поздняя запись, но я обнаружил, что просто удаление (удаление) моего большого количества точек останова разрешило чрезмерное время загрузки и время компиляции. Это действие уменьшило размер файла .suo с 214 МБ до 977 КБ. Пусть VS обрабатывает сам файл .suo. Компиляция и загрузка теперь принимают < 1 минута вместо 5-10 минут для решения с 35 проектами. Visual Studio 2012 Pro, обновление 4.
Ни один из них не помог мне, что я сделал ... Я смотрю с ProcMon из sysinternals, фильтруя для devenv, и я видел много записей fussionlog. За несколько недель до этого я включил fussionlog для отладки и не думал об отключении. Мне просто пришлось отключить fussionlog, и решение было открыто быстрее.
Вы можете открыть Visual Studio в безопасном режиме, а затем проверить настройки плагина и источника после открытия проекта. Безопасный режим означает «Запускает Visual Studio, загружая только среду и службы по умолчанию».
Как:
devenv /SafeMode
Или по вашему пути
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /SafeMode
Источник: https://msdn.microsoft.com/en-us/library/ms241278.aspx
Ни один из других ответов не работает для меня. Время компиляции CI было прекрасным, но загрузка моего решения в Visual Studio занимала почти две минуты. VS тогда работал бы очень хорошо, пока я не закрою и не открою решение в следующий раз. Различные версии VS все показали ту же проблему, и безопасный режим и удаление suo не помогли.
Я пришел в соответствии с рекомендацией в http://geekswithblogs.net/akraus1/archive/2014/04/30/156156.aspx, чтобы использовать Windows Performance Recorder для управления VS и найти проблему. Если посмотреть в Windows Performance Analyzer в разделе «Использование CPU (Sampled)» и добавить столбец «Stack (Frame Tags)», я смог вычислить использование devenv.exe
.
Выключает горячую дорожку по счету Microsoft.VisualStudio.Platform.WindowManagement.ni.dll
23 звонки вниз, а ниже Microsoft.VisualStudio.ServerExplorer.dll
и Microsoft.VisualStudio.Data.Package.dll
. Это заставило меня посмотреть в Server Explorer в пользовательском интерфейсе и открыть вкладку «Связи данных». Там я обнаружил сотни ошибочно добавленных подключений, которые были получены в разделе ConnectionString отладки web.config
. Удаление из web.config
уменьшило нагрузку на этот отдельный проект с 90 секунд до почти мгновенного.
В моем случае, следующие работали без каких-либо промежуточных шагов предложил:
- убийств Visual Studio.
- Запустите Visual Studio напрямую (т. Е. не из .sln-файла).
- Затем из Visual Studio откройте решение.
В моем случае это все, что нужно, чтобы проблема с решением проблемы была довольно быстрой, без необходимости изменять какие-либо настройки или удалять любые файлы.
Спасибо, что поделились этим. В моем случае удаление файла suo улучшило загрузку решения. – rpattabi
Спасибо, что у меня так много проблем с этим в последние несколько дней, и есть много жалоб на такие вещи, но никаких других ответов не решена моя проблема. – mikeLspohn
Шаг 6 исправил это для меня - Удалите файл '* .suo' решения. – SausageFingers