Консольное приложение .net 32 и 64 бит
Вопрос
Должно ли приложение в .NET быть построено в 64-битной версии, чтобы в полной мере использовать преимущества машины с 64-битной ОС, или оно будет использовать ее преимущества так же, как и 32-битная сборка.По сути, у нас возникла проблема с исключением нехватки памяти, и было предложено запустить консольное приложение на 64-битной системе, что «может» решить проблему.Вопрос в том, можем ли мы просто раскрутить 64-битную коробку и загрузить на нее текущее приложение, или мне нужно пересобрать приложение на 64-битной версии.
Другие советы
Если он создан для какой-либо платформы (по умолчанию), он будет работать в 64-битной версии в 64-битных операционных системах.
При этом все еще существуют потенциальные проблемы, на которые следует обратить внимание.Если вы взаимодействуете с собственным кодом (через p/invoke, C++/CLI или COM), вам потребуется перенести этот код на 64-разрядную версию.Если приложение управляемо на 100%, оно просто работает.
«Любой процессор» — ваш друг.
Как в сторону:
У нас было особенно большое Три структура, превышающая 2 ГБ памяти 32-битной Windows.Поскольку большая часть структуры состоит из ссылок на объекты, мы обнаружили, что требования к памяти приложения почти удвоились при переходе на 64-битную версию, требуя около 4 ГБ.Это связано с тем, что память для хранения ссылки имеет ширину 64 бита вместо 32.