У нас есть решение Visual Studio 2005 с 50 проектами (в основном это библиотеки классов и некоторые проекты Win Form).
Выполнение чистой отладочной сборки с только что запущенным пиковым использованием памяти Visual Studio (записано диспетчером задач) показывает около 500 МБ.
При такой же сборке (чистая, отладочная) с MSBuild пиковое использование памяти составляет около 1600 МБ, и в итоге происходит сбой с исключением OutOfMemory.
Я выполняю команду:
MSBuild LargeProject.sln / target: clean; build / nologo / property: конфигурация = отладка / подробность: минимальная
Оба были запущены на одном компьютере с 32-битной Windows XP Professional с физическим объемом 2 ГБ.
Я нашел эту статью MSDN , описывающую различия между сборкой в Visual Studio и MSBuild, но не объясняет, почему сборка требует в 3 раза больше памяти.
Кто-нибудь знает, почему это происходит? И если есть что-то, что я могу сделать, чтобы уменьшить требования к памяти MSBuild.