Я создал сценарий powershell, который загружает несколько больших (50 МБ+) файлов XML и извлекает из него некоторые значения. Он отлично работает как отдельный скрипт (но медленно).
Когда я вызываю .ps1 из файла msbuild proj, он запускается нормально, но затем умирает при загрузке этого большого файла XML с исключением System.OutOfMemoryException.
"C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe" Test.proj
PowerShell 4.0
Мой обходной путь - использовать XMLReader вместо XMLDocument, чтобы он выполнял последовательное чтение, работал быстрее и не умирал под MSBUILD.
Хотя я доволен своим обходным решением, мне все еще интересно, почему у меня есть ограничения по памяти при выполнении ps1 из задачи msbuild?
Виновата ли в этом 32-битная версия MSBUILD? Или это по дизайну?