É possível forçar um aplicativo C # compilado com a tag de arquitetura “Any” a ser executado como um aplicativo de 32 bits em janelas de 64 bits?

2

Eu tenho um aplicativo .Net, escrito em C #. O aplicativo foi compilado com o sinalizador "any", permitindo que ele seja executado como 64 e 32 bits, dependendo do SO em que foi implantado.

Eu estou querendo saber se é possível forçar o aplicativo a ser executado como um aplicativo de 32 bits, em uma versão de 64 bits do Windows (qualquer versão de 64 bits do Windows).

    
por blueberryfields 24.09.2009 / 22:14

2 respostas

2

Sim, use CorFlags para definir o sinalizador 32BIT no executável. Por exemplo:

corflags.exe myapp.exe /32BIT+

Isto irá modificar o seu exe, então você pode querer manter um backup apenas no caso. Você também pode reverter o sinalizador usando /32BIT- em vez de /32BIT+

    
por 24.09.2009 / 22:21
0

Informações mais recentes:

Quando um aplicativo .NET é criado dentro do Visual Studio 2012 e acima, a configuração padrão é AnyCPU com um subtipo adicional de AnyCPU, “Qualquer CPU de 32 bits preferida”. Isso implica o seguinte:

  • Se o processo for executado em um sistema Windows de 32 bits, ele será executado como um de 32 bits processo. IL é compilado para código de máquina x86.
  • Se o processo for executado em um Sistema Windows de 64 bits, ele é executado como um processo de 32 bits. IL é compilado para código de máquina x86.
  • Se o processo for executado em um sistema ARM Windows, é executado como um processo de 32 bits. IL é compilado para código de máquina ARM.

Fonte:

    
por 08.02.2018 / 20:59