Pergunta

Eu tenho dito há uma variável de ambiente pode ser configurado para aplicações de força .NET para executar como aplicativos de 32 bits em x64 versões do Windows. Sabe o que é, ou sabe de uma referência sobre ele? Temo meu google-fu falhou comigo hoje (ou ele não existe).

Eu estou usando Resolver One (uma planilha .NET) e quiser acessar algum 32bit apenas a funcionalidade sem modificar o executável. Se eu pode configurar isto de uma variável de ambiente, então eu posso acessar 32bit funcionalidade quando necessário, mas também executar como um aplicativo de 64 bits quando necessário.

(NOTA: efetivamente eu quero ser capaz de mudar se um aplicativo é executado como 32 ou 64 bits em tempo de lançamento, em vez de forçá-lo em tempo de compilação.)

Graças

Foi útil?

Solução

Eu tive uma resposta de Dino Veihland (Microsoft IronPython desenvolvedor). Eu não tive tempo de testá-lo ainda ...

É COMPLUS_ENABLE_64BIT. Eu acho que defini-la para 0 desativa 64-bit.

Você deve ser capaz de defini-lo como um var env ou adicionar um valor de HKLM \ Software \ Microsoft \ .NETFramework com o nome "Enable_64Bit", o tipo de REG_DWORD e o valor 0 para defini-la globalmente (isto é como tudo o COMPlus_ * vars de trabalho). Este pode ser o suficiente especial (tem que correr antes que o processo é criado) que tem que ser definido na chave reg mas eu não sou inteiramente certo.

Outras dicas

Como cerca de este link

Não é uma variável de ambiente, mas apenas usar a ferramenta CoreFlags para alternar.

Para mudar para 32 bits:

CorFlags.exe TheApp.exe /32BIT+ 

Para voltar para 64 bits:

CorFlags.exe TheApp.exe /32BIT- 

Verifique o seguinte: http://www.hanselman.com/blog/BackToBasics32bitAnd64bitConfusionAroundX86AndX64AndTheNETFrameworkAndCLR.aspx

plataforma de destino na caixa de diálogo projeto propriedade btw.

Im que vão tentar este breve - basicamente um exe invólucro que é executado em 32 bits, em seguida, lança seu aplicativo alvo dele. o modo do pai de 32 bits deve forçar uma AnyCPU compilado binário para ser executado em 32 bits. veja http://lostechies.com/gabrielschenker/2009/10/21/force-net-application-to-run-in-32bit-process-on-64bit-os/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top