36

У нас есть действительно большое решение с более чем 200 проектами и тысячами файлов. Несмотря на это, решение, которое довольно быстро загружалось в Visual Studio 2010, а также в 2012 году. Однако после копирования всего хранилища SVN в другое место загрузка и закрытие решения внезапно потребовали много времени. (Я говорю здесь через 30-60 минут!)Почему для загрузки моего решения в Visual Studio требуется sooo?

ответ

60

Я нашел решение самостоятельно, и я хотел поделиться им здесь, надеясь, что он может сэкономить несколько часов исследований и посмотреть на «Готовое решение .. . ".

При проверке процесса devenv.exe с помощью Process Monitor я узнал, что он довольно занят доступом к каталогу .svn. Вот что я сделал (и это как-то решить эту проблему):

  1. убийств Visual Studio
  2. Open Visual Studio без загрузки является решением
  3. Отключить AnkhSVN в качестве подключаемого модуля управления источником (Tools-> Options-> Источник Control-> Plug-in Selection-> None)
  4. Отключить «Document Well 2010 Plus» (VS2010) или «Custom Document Well» (VS2012) в разделе «Электроинструменты» (Инструменты-> Опции-> Производительность электроинструментов) - Я прочитал это где-то, и это могло бы помочь ...
  5. Закрыть Visual Studio
  6. Удалить файл решения *.suo. Это расположено в той же папке, что и само решение. Примечания: Вы потеряете несколько параметров для решения, как открытые файлы, контрольные точки, закладки, текущая конфигурация решения & платформы (например, отладки x86) и т.д.
  7. Restart Visual Studio
  8. Загрузить решение - это было много быстрее!
  9. Закрыть Visual Studio
  10. Open Visual Studio без загрузки решения
  11. Повторное включение AnkhSVN и "Document Well"
  12. Restart Visual Studio
  13. Открыть решение - это еще загружается за считанные секунды!

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

+9

Спасибо, что поделились этим. В моем случае удаление файла suo улучшило загрузку решения. – rpattabi

+0

Спасибо, что у меня так много проблем с этим в последние несколько дней, и есть много жалоб на такие вещи, но никаких других ответов не решена моя проблема. – mikeLspohn

+9

Шаг 6 исправил это для меня - Удалите файл '* .suo' решения. – SausageFingers

0

Я пробовал выше, но это не решило мою проблему.

Вот как я обойти эту проблему, мы надеемся, он будет работать для некоторых из вас, а также:

  1. Open Visual Studio 2013 без каких-либо решения.
  2. Создайте новое приложение консоли C# и сохраните его.
  3. Закрыть Visual Studio.
  4. Восстановить консольное решение, созданное на этапе 2.
  5. Закрыть Visual Studio.
  6. Заново откройте решение, которое ранее висело на диалоге Подготовка решения. Шахта открылась сразу, больше не висела.
1

fwiw, я понимаю, что это поздняя запись, но я обнаружил, что просто удаление (удаление) моего большого количества точек останова разрешило чрезмерное время загрузки и время компиляции. Это действие уменьшило размер файла .suo с 214 МБ до 977 КБ. Пусть VS обрабатывает сам файл .suo. Компиляция и загрузка теперь принимают < 1 минута вместо 5-10 минут для решения с 35 проектами. Visual Studio 2012 Pro, обновление 4.

5

Ни один из них не помог мне, что я сделал ... Я смотрю с ProcMon из sysinternals, фильтруя для devenv, и я видел много записей fussionlog. За несколько недель до этого я включил fussionlog для отладки и не думал об отключении. Мне просто пришлось отключить fussionlog, и решение было открыто быстрее.

3

Вы можете открыть 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

0

Ни один из других ответов не работает для меня. Время компиляции 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 секунд до почти мгновенного.

0

В моем случае, следующие работали без каких-либо промежуточных шагов предложил:

  1. убийств Visual Studio.
  2. Запустите Visual Studio напрямую (т. Е. не из .sln-файла).
  3. Затем из Visual Studio откройте решение.

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

 Смежные вопросы

  • Нет связанных вопросов^_^