2013-01-16 3 views
7

Не могли бы вы посоветовать, как я могу ускорить сбор, загрузку большого решения (~ 50 проектов). Я имею в виду только студию VS 2012 или настройки Windows, а не аппаратные изменения.Visual Studio 2012 большое решение

Благодаря

+0

Какое ваше оборудование –

+0

Intel Core i5-2400 [email protected] Ghz 3.10Ghz, 8Gb Ram. – Alexandr

+0

Вы не упомянули систему дисков sybsystem ... SSD могут действительно помочь с временем загрузки. – GregC

ответ

5

Я использую 100+ проектов в решении с Visual Studio 2012 Update 3, и он быстро развивается.

  1. Я согласен с общим выпуском каталога ODE, но хотел бы упомянуть, что ссылки на проекты также работают.
  2. Убедитесь, что папка \ Users \\ AppData \ Local \ Microsoft \ WebsiteCache пуста. Так или иначе, это проблема даже при использовании только для настольных компьютеров.
  3. Я отключил возможности Power Tools 2012, поскольку они компилируют код в фоновом режиме, немного слишком для меня. Отключите все плагины и расширения и посмотрите, не имеет значения.
  4. Подавить чрезмерного вывода сообщений на диск и на экране за счет уменьшения выходной Verbosity Build-n-run
  5. Использование многоядерной системы с MSBuild.
  6. Как вы код, попробуйте ограничить зависимости между проектами с помощью интерфейсов и абстрактных классов (C#).
  7. Попробуйте свежие * .suo и свежие файлы * .sdf. (Сделайте резервную копию пользовательских настроек и БД, затем удалите их и попробуйте создать еще раз)
  8. Когда все остальное не удается, используйте ProcessMonitor или присоедините с другим экземпляром Visual Studio, чтобы профилировать свою Visual Studio во время ее создания.
  9. Попробуйте исключить фильтры файловой системы, такие как антивирус, из вашей сборки. Например, некоторые антивирусы имеют способ пропускать сканирование в определенных каталогах или имена файлов.
+0

Сколько времени требуется для создания вашего решения из 100 проектов? Имеются ли только проекты на C#? Нативный C/C++? Управляемый C++? – Fede

+1

Все проекты строятся менее чем за шесть минут, и реконкируются менее чем за две минуты. Родные сборки заметно медленнее. В основном мы C#. Проекты F # строят немного медленнее, но не так уж плохо, что я бы заметил. У нас есть инструменты для генерации кода на дому, которые занимают большую часть времени сборки. – GregC

7

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

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

Чем меньше количество проектов, тем быстрее будет ваша сборка.

Кроме того, если вы изменяете сборки для вывода в конкретный общий каталог и ссылаетесь на библиотеки DLL вместо проектов, количество ненужных повторных компиляций должно резко сокращаться, хотя вам придется самостоятельно управлять порядком сборки ,

+0

+1 Для общего каталога вывода. – JoanComasFdz

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