Dot-Net

強制 .NET 應用程序以 32 位執行的環境變數

  • May 19, 2012

有人告訴我,您可以設置一個環境變數來強制 .NET 應用程序在 x64 版本的 Windows 上作為 32 位應用程序執行。你知道它是什麼,或者知道它的參考嗎?恐怕我的 google-fu 今天讓我失望了(或者它不存在)。

我正在使用 Resolver One(一個 .NET 電子表格)並希望在不修改執行檔的情況下訪問一些僅限 32 位的功能。如果我可以從環境變數中配置它,那麼我可以在需要時訪問 32 位功能,還可以在需要時作為 64 位應用程序執行。

(注意:實際上我希望能夠在啟動時切換應用程序是以 32 位還是 64 位執行,而不是在編譯時強制它。)

謝謝

我得到了 Dino Veihland(Microsoft IronPython 開發人員)的回答。我還沒來得及測試…

它是 COMPLUS_ENABLE_64BIT。我認為將其設置為 0 會禁用 64 位。

您應該能夠將其設置為環境變數或向 HKLM\Software\Microsoft.NETFramework 添加一個名為“Enable_64Bit”、類型為 REG_DWORD 和值 0 的值以全域設置它(這就是所有 COMPlus_*變數工作)。這個可能足夠特別(它必須在創建程序之前執行),它必須在 reg 鍵中設置,但我並不完全確定。

引用自:https://stackoverflow.com/questions/619155