выберите программу .NET, запущенную на x64/x86 с аргументом после сборки, но перед запуском

Я создаю программу на С#, а целевой платформой является любой ЦП. Я хочу, чтобы он работал в режиме X86 или в режиме X64, когда мне это нужно.


person anchur    schedule 16.09.2019    source источник
comment
Вы видели stackoverflow.com/questions/985663/   -  person Caius Jard    schedule 16.09.2019
comment
@CaiusJard Спасибо за вашу помощь. И теперь у меня есть новая идея, я должен написать свой ответ под своим вопросом или написать под постом, который вы дали?   -  person anchur    schedule 20.09.2020
comment
Если вы хотите ответить на свой вопрос, вы можете сделать это. Если это просто идея, а не рабочий ответ на исходную проблему, то это должен быть комментарий, редактирование или новый вопрос.   -  person Caius Jard    schedule 20.09.2020


Ответы (1)


Любая сборка, скомпилированная с помощью AnyCPU, запускается:

  • В 32-битном режиме на ОС x32 (int — 32 бита).
  • В 64-битном режиме на ОС x64 (int — 64 бита).

Это автоматически.

Вы можете использовать CorFlags.exe, чтобы изменить это поведение.

Чтобы заставить AnyCPU работать в 32-битном режиме на 64-битной ОС:

corflags /32bit+ application.exe

Вы можете найти его в Windows SDK для Windows Server 2008 и .NET Framework.

person Olivier Rogier    schedule 16.09.2019