Força o x86 CLR em um assembly .NET 'Qualquer CPU'

No .NET, a opção de compilador 'Plataforma de destino: qualquer CPU' permite que um assembly .NET seja executado como 64 bits em uma máquina x64 e 32 bits em uma máquina x86. Também é possível forçar um assembly a ser executado como x86 em uma máquina x64 usando a opção de compilador 'Platform Target: x86'.

É possível executar um assembly com o sinalizador 'Any CPU', mas determinar se ele deve ser executado no CLR x86 ou x64? Normalmente, essa decisão é feita pelo carregador do CLR / OS (como é do meu conhecimento) com base na bitness do sistema subjacente.

Eu estou tentando escrever um aplicativo c # .net que pode interagir com (ler: injetar código em) outros processos em execução. Processos x64 só podem ser injetados em outros processos x64, e o mesmo com x86. Idealmente, gostaria de aproveitar a compilação JIT eQualquer CPU opção para permitir que um único aplicativo seja usado para injeção em processos x64 ou x86 (em uma máquina x64).

A ideia é que o aplicativo seja compilado comoQualquer CPU. Em uma máquina x64, ele seria executado como x64. Se o processo de destino for x86, ele deverá ser reiniciado, forçando o CLR a executá-lo como x86. Isso é possível?

questionAnswers(4)

yourAnswerToTheQuestion