Подтвердить что ты не робот

Переменная среды для принудительного использования приложений .NET для 32-разрядных

Мне сказали, что есть переменная среды, которую вы можете установить, чтобы заставить приложения .NET работать как 32-разрядные приложения в x64-версиях Windows. Вы знаете, что это такое, или знаете ссылку на него? Я боюсь, что мой google-fu сегодня не помог мне (или его не существует).

Я использую Resolver One (.NET-таблицу .NET) и хочу получить доступ к 32-разрядной функциональности без изменения исполняемого файла. Если я смогу настроить это из переменной окружения, тогда я могу получить доступ к 32-битной функциональности, когда это необходимо, но также работать как 64-битное приложение, когда это необходимо.

(ПРИМЕЧАНИЕ. Фактически я хочу, чтобы иметь возможность переключать, запускается ли приложение как 32-битное или 64-битное во время запуска, а не форсировать его во время компиляции.)

Спасибо

4b9b3361

Ответ 1

У меня был ответ от Dino Veihland (разработчик Microsoft IronPython). Я еще не успел его протестировать...

Это COMPLUS_ENABLE_64BIT. Я думаю, что установка этого параметра на 0 отключает 64-разрядную версию.

Вы должны установить его как env var или добавить значение в HKLM\Software\Microsoft \.NETFramework с именем "Enable_64Bit", тип REG_DWORD и значение 0, чтобы установить его глобально (так все работают COMlus_ * vars. Этот может быть достаточно специальным (он должен запускаться до создания процесса), что он должен быть установлен в ключе reg, но я не совсем уверен.

Ответ 2

Как насчет эта ссылка

Не совсем переменная среды, но просто используйте инструмент CoreFlags для переключения назад и вперед.

Для переключения на 32 бит:

CorFlags.exe TheApp.exe /32BIT+ 

Чтобы вернуться к 64 бит:

CorFlags.exe TheApp.exe /32BIT- 

Ответ 4

Я собираюсь попробовать это скоро - в основном exe-обертка, которая работает в 32 бит, а затем запускает ваше целевое приложение. 32-разрядный режим родителя должен принудительно скомпилировать двоичный файл AnyCPU для 32 бит. см. http://lostechies.com/gabrielschenker/2009/10/21/force-net-application-to-run-in-32bit-process-on-64bit-os/