Dot-Net

在 64 位系統上以 32 位執行 AnyCPU

  • June 8, 2012

我們正在使用似乎被編譯為 AnyCPU 的第三方程序集。

但是,我們有許多應用程序安裝,這會導致問題。此第三方程序集使用 oracle 數據訪問庫,並且不適用於僅安裝了 32 位 oracle 客戶端的 64 位電腦。

安裝一個額外的 64 位 oracle 客戶端是可能的,但也很昂貴(需要很多時間,許多機器必須更新等)

有沒有辦法強制 AnyCPU .Net 程序集以 32 位執行而無需重新編譯?

看看CorFlags.exe

範例(設置 32BIT 標誌):

corflags [path]\[YourAssembly.exe] /32Bit+

假設您正在建構引用 AnyCPU 第三方程序集的 .EXE,您需要將項目建構為 x86。該項目可以引用 AnyCPU 程序集,但被標記為 x86,它將在 32 位和 64 位 Windows 上作為 32 位程序執行。

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