2009-11-10 97 views
2

我在更新到Windows 7 64位並運行現有的.NET網站後收到此錯誤。如何編譯網站以在64位Windows上使用32位Oracle客戶端

[InvalidOperationException: Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.] 

我只安裝安裝了32位Oracle客戶端,我知道,我的64位開發機上的應用期待64位庫除非明確說明。這是來自我迄今爲止所做的搜索。

我讀過,我可以將解決方案平臺更改爲x86,它將指示應用程序使用32位,如果這是它發現的。我想這樣做,但Visual Studio解決方案中的網站沒有x86選項。

我創建了一個測試應用程序,我有選擇,我創建了一個測試網站,但它沒有。我如何編譯一個網站到x86,以便它將使用32位Oracle客戶端。

乾杯

回答

5

在IIS管理器,創建一個應用程序池,並設置應用程序池爲在32位模式下運行。然後使用32位Oracle Client將您的網站分配到該32位應用程序池中運行。

因爲IIS爲該應用程序池啓動的工作進程是32位進程,所以當它嘗試加載CLR時,它將加載32位CLR,因此會以32位模式加載程序集。即使您的程序集編譯爲64位和32位模式,情況也是如此。然後,以32位模式運行的程序集可以調用以32位模式運行的Oracle客戶機。

+0

:)剛剛發現 - 我花了這麼長時間試圖讓這個工作我錯過了明顯的,我現在得到另一個錯誤,我相信是我的Oracle客戶端的問題,但我正在取得進展!乾杯 – 2009-11-10 10:59:36

相關問題