我被告知有一个环境变量可以设置为强制.NET应用程序在x64版本的Windows上作为32位应用程序运行.你知道它是什么,或者知道它的参考吗?我担心我的google-fu今天失败了(或者它不存在).
我正在使用Resolver One(一个.NET电子表格),并希望在不修改可执行文件的情况下访问一些仅32位的功能.如果我可以从环境变量配置它,那么我可以在需要时访问32位功能,但在需要时也可以作为64位应用程序运行.
(注意:实际上我希望能够在启动时切换应用程序是以32位还是64位运行,而不是在编译时强制它.)
谢谢
我得到了Dino Veihland(微软IronPython开发人员)的回答.我没有时间测试它......
这是COMPLUS_ENABLE_64BIT.我认为将其设置为0会禁用64位.
您应该能够将其设置为env var或将值添加到HKLM\Software\Microsoft\.NETFramework,名称为"Enable_64Bit",类型为REG_DWORD,值为0以全局设置它(这是所有COMPlus_*的方式vars工作).这个可能足够特别(它必须在创建进程之前运行),它必须在reg键中设置,但我不完全确定.
这个链接怎么样?
不完全是环境变量,只需使用CoreFlags工具来回切换.
要切换到32位:
CorFlags.exe TheApp.exe /32BIT+
要回到64位:
CorFlags.exe TheApp.exe /32BIT-