Для тестов потребовался массив c 2GB байт.
64-приложение. FW4.7.2.
И нифига не получается выделить. Максимум int.MaxValue-56 байт
| Тестовый код |
| using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
try
{
//var buf=new byte[int.MaxValue]; //OUTOFMEMORY
//var buf=new byte[int.MaxValue-55]; //OUTOFMEMORY
var buf=new byte[int.MaxValue-56]; //ok
buf[0]=123;
}
catch(Exception e)
{
Console.WriteLine("{0}",e.Message);
}
}
}
}
|
| |
Интернеты
предлагают указать <gcAllowVeryLargeObjects enabled="true" /> в конфигурационном файле. Указал, не помогает
| App.config |
| <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<gcAllowVeryLargeObjects enabled="true" />
</runtime>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
|
| |
Что я не так сделал?
Заранее благодарю за помощь!
-- Пользователи не приняли программу. Всех пришлось уничтожить. --