OutOfMemoryException от aspnet_merge при попытке опубликовать веб-сайт как одну DLL

Я думал, что это будет просто исправить, но, попробовав несколько решений, которые я нашел в Google (очистка временных файлов для системы, запуск сборки через 64-разрядный IIS Express и сборка в режиме выпуска вместо отладки), я m по-прежнему возникает следующая ошибка: введите здесь описание изображения

Команда, которая выполняется:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\aspnet_merge.exe C:\Users\jmckinnon\AppData\Local\Temp\WebSitePublish\cv_net_2008--650083730\obj\Debug\AspnetCompileMerge\TempBuildDir -o xxxxx -copyattrs C:\Users\jmckinnon\AppData\Local\Temp\WebSitePublish\cv_net_2008--650083730\obj\Debug\AssemblyInfo\AssemblyInfo.dll -a -debug 

Я получаю эту ошибку, запуская публикацию в zip со следующими настройками прекомпиляции: настройки предварительной компиляции

Несколько замечаний:

  • Веб-сайт НЕ является веб-приложением!
  • На сайте более 9100 файлов
  • Запуск .Net 4.5
  • Попытка сборки на 64-битной машине Windows 7 Professional с 16 ГБ ОЗУ
  • Единственная причина, по которой я пытаюсь создать единую DLL, заключается в том, что мне нужно проверить версию вывода пакета. Я обнаружил, что могу версионировать App_Code, используя файл AssemblyInfo.vb, но единственный способ, которым я могу версионировать все другие библиотеки DLL (по умолчанию без публикации слияния создается DLL для каждой страницы), — это добавить директиву версии на каждой странице, что слишком много поддерживать с более чем 1000 страниц.

person Delforas    schedule 06.10.2017    source источник


Ответы (1)


aspnet_merge — это 32-разрядный процесс, и, похоже, он дает сбой, когда он приближается к 2 ГБ использования памяти, что и произошло с нашим проектом. Мы исправили это, предоставив aspnet_merge.exe информацию о больших адресах с помощью editbin. exe (входит в состав VS2015, но, кажется, не в VS2017...).

editbin /LARGEADDRESSAWARE "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\aspnet_merge.exe"

person riipah    schedule 15.10.2018