System.InvalidOperationException: 嘗試加載 Oracle 客戶端庫時引發 BadImageFormatException。
如果在安裝 32 位 Oracle 客戶端組件的情況下以 64 位模式運行,將出現此問題。
---> System.BadImageFormatException: 試圖加載格式不正確的程序。 (HRESULT: 0x8007000B)
此後進程以 64 位模式運行,匹配已安裝的 64 位 Oracle Client。
若程式碼強制需 32 位(如舊版 COM 元件),需額外安裝 32 位 Oracle Client(Instant Client 或完整 Client),並確保 PATH 優先指向 32 位 bin 目錄。
-- 檢查目前進程位數
SELECT * FROM V$VERSION; -- 含 64bit Production 字樣即為 64 位
-- 或在 .NET 程式碼
Console.WriteLine(Environment.Is64BitProcess); -- True 為 64 位
PATH 衝突Oracle.ManagedDataAccess NuGet 套件可免安裝 Client,直接嵌入 Managed Driver,徹底避免位數問題