variável de ambiente para aplicações de força .NET para executar como 32bit
-
03-07-2019 - |
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
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/