2011-05-06 53 views
3

背景: 我正在開發一個將在Windows XP 32位操作系統(公司標準,無法更改)的Visual Studio 2010中開發的ASP.NET Web應用程序。目標服務器是Windows 2008 Server 64位(IIS 7)。該應用程序將引用具有32位和64位版本的非託管dll(Oracle ODP.NET,11.2)。64位服務器目標,在32位操作系統上開發

問題: 一般情況下,什麼是開發.NET應用程序,它引用了從部署到64操作系統32位操作系統的開發環境包括32位和64位版本的非託管的DLL,最好的辦法?提到的一種解決方案是在IIS中切換到32位模式,但我想保持64位驅動程序的性能增益。

+0

我也遇到過這個問題。我認爲@Joel是正確的,你需要32位和64位的dll。如果這是一個網絡應用程序,另一個問題是內置的casini網絡服務器是32位的,並且在嘗試加載64位Oracle驅動程序時會崩潰並出現「BadImageFormatException」。 – 2011-05-06 15:40:58

回答

1

如果32位和64位的DLL名稱相同,則只需將其寫入32位,但在部署64位時,只需使用正確的DLL即可。它應該只是假設庫使用IntPtr來做正確的事情。

相關問題