Я сталкивался с этим вопросом при попытке скомпилировать свое решение C # в Visual Studio 2010 в Windows XP.В одном проекте было достаточно встроенных ресурсов (размер получившейся сборки составлял ~ 140 МБ), и я не смог скомпилировать решение, потому что получал
Недостаточно памяти для завершенияэта операция
ошибка в выводе моей сборки.
Ни один из ответов на этот вопрос не помог, но я нашел ответ на " Недостаточно памяти для завершенияэта операция" ScottBurton42 на сайте social.msdn.microsoft.com.Он предлагает добавить ключ 3GB
в файл Boot.ini
и сделать осведомленность о большом адресе devenv.exe
.Добавление переключателя 3GB
в мой файл Boot.ini
помогло мне (я думаю, что devenv.exe
для Visual Studio 2010 и выше уже поддерживает большие адреса).
Myответ основан на этом ответе.
Решение 1: Установите переключатель /3GB
Boot.ini
Страница Поддержка памяти и операционная система WindowsСистемы в MSDN говорят:
Виртуальное адресное пространство процессов и приложений по-прежнему ограничено 2 ГБ, если в файле Boot.ini
не используется переключатель /3GB
.
Переключатель /3GB
выделяет 3 ГБ виртуального адресного пространства для приложения, которое использует IMAGE_FILE_LARGE_ADDRESS_AWARE
в заголовке процесса.Этот переключатель позволяет приложениям адресовать 1 ГБ дополнительного виртуального адресного пространства свыше 2 ГБ.
Виртуальное адресное пространство процессов и приложений по-прежнему ограничено 2 ГБ, если только переключатель /3GB
не используется в Boot.ini file
.В следующем примере показано, как добавить параметр / 3GB в файл Boot.ini
, чтобы включить настройку памяти приложения:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="????" /3GB
Примечание. В предыдущем примере "????
" будет программным именем рабочейsystem.
В Windows XP файл Boot.ini
можно изменить, выбрав
- Свойства системы → Дополнительно → Запуск и восстановление → Настройки → Запуск системы → Редактировать
На странице переключателя /3GB
в MSDN указано:
В 32-разрядных версиях Windows параметр /3GB
включает4 GT RAM Tuning, функция, которая увеличивает виртуальное адресное пространство в пользовательском режиме до 3 ГБ и ограничивает компоненты режима ядра оставшимися 1 ГБ.
Параметр /3GB
поддерживается в Windows Server 2003,Windows XP и Windows 2000. В Windows Vista и более поздних версиях Windows используйте элемент IncreaseUserVA
в BCDEdit
.
После перезагрузки компьютера настройки вступят в силу.
Решение 2. Создайте devenv.exe
большой адрес с учетом:
Откройте командную строку Visual Studio (или командную строку разработчика, в зависимости отверсия Visual Studio)
Введите и выполните следующую командную строку:
editbin /LARGEADDRESSAWARE {path}\devenv.exe`
где {path}
- это путь к devenv.exe
(вы можете найтидля этого перейдите в свойства ярлыка Visual Studio).
Это позволит devenv.exe
получить доступ к 3 ГБ памяти вместо 2 ГБ.