2011-02-02 47 views
0

我正在編寫需要調用Oracle數據庫的Windows服務。我爲編譯器設置了.Net 2.0和x86的目標環境。我在Oracle的11.2.0客戶機上引用了Oracle.DataAccess.dll文件。如果我將其複製到GAC中,則會顯示爲x86架構。x64框上的Oracle Visual Studio開發工具,面向x86,獲取不正確的格式錯誤

現在,無論何時我嘗試編譯服務,我都會收到一個「嘗試加載格式不正確的程序」錯誤。它顯示在服務的resx文件以及ServiceInstaller resx文件中。

無論我是否定位x86或x64平臺,都會發生這種情況。另外不管設置DLL是否複製本地。任何想法有什麼不對?

回答

0

ODP.NET沒有完全管理,所以它會調用32位非託管支持DLL(如果安裝了32位ODAC)或64位非託管支持DLL(如果安裝了64位ODAC)。因此,首先,您需要正確地設置目標,然後您需要確保正確拾取Oracle DLL的正確風格。

在這種情況下,您選擇了x86(32位),這意味着您還需要安裝32位ODAC,並確保您沒有錯誤地引用64位Oracle dll。

Christian Shay
Oracle

相關問題