Dot-Net
在 64 位系統上以 32 位執行 AnyCPU
我們正在使用似乎被編譯為 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 位程序執行。