2012-07-12 50 views
0

我有一個C#控制檯應用程序,它在64位Windows 2008服務器上運行,並通過ODP.net訪問Oracle 11g。它已經工作了大約6個月。Oracle.DataAccess dll for .Net應用程序

我編譯我的電腦上的程序,使構建設置「任何CPU」。我在6個月前在Windows服務器上安裝了相應的64位Oracle dll,並且從不替換它 - 我只替換了控制檯應用程序的exe文件。

我昨晚更新了它 - 現在我得到一個BadImageFormat異常,並顯示無法找到Oracle程序集的消息,這通常意味着我的DLL有錯誤的編譯包。我確認並且我仍然使用原始的Oracle dll。我也確認我正在編譯我的服務器上的「任何CPU」。

我甚至嘗試過重新編譯和重新加載,並找到原始Oracle dll的源代碼並重新加載。

有沒有人見過這個?有任何想法嗎?

回答

0

所以我在試錯後發現了這個。

發現某些時候,我已將PC上的ODP版本更新至版本4. ,但服務器上的版本爲2.。雖然我已經正確地佔了32位與64位,它被編譯爲期望一個特定的版本。

出於某種原因,我不能將新的DLL複製到服務器上。我必須編譯引用4. * 64位DLL的應用程序,然後我可以將所有內容加載到服務器並使其工作。然後我必須刪除參考並重新引用32位才能繼續在我的PC上工作。煩人,但它的作品。

相關問題