1
我有一個ASP.NET應用程序,它調用一個32位DLL。ASP.NET P/Invoke「試圖加載程序的格式不正確」
當我將它部署在64位服務器上時,出現錯誤「試圖以不正確格式加載程序」。
然後我配置IIS運行32位按給定的指令here。仍然得到相同的錯誤。
這裏有什麼問題?
我有一個ASP.NET應用程序,它調用一個32位DLL。ASP.NET P/Invoke「試圖加載程序的格式不正確」
當我將它部署在64位服務器上時,出現錯誤「試圖以不正確格式加載程序」。
然後我配置IIS運行32位按給定的指令here。仍然得到相同的錯誤。
這裏有什麼問題?
只有允許 32位應用程序運行,但它不會使任何實際運行在32位模式下的任何東西。
要使用32位DLL,您的Web應用程序必須以32位模式運行,這是通過切換IIS以32位模式運行完成的。但是,根據服務器上運行的其他Web應用程序的不同,這可能實際上不可行,因爲所有 Web應用程序都必須以32位模式運行。您鏈接的頁面上有一個鏈接,其中包含有關在32位模式下運行IIS的含義的更多信息。
如果無法在32位模式下運行IIS,則需要64位版本的dll才能使用它。
@Guffa如何切換IIS以32位模式運行? – 2010-11-11 16:35:24
@smkngspcmn:在「ASP.NET 2.0,32位版本」下查看:http://support.microsoft.com/kb/894435/en-gb – Guffa 2010-11-11 20:02:29
@Guffa:是不是真的有幫助。不幸的是,64位版本的DLL不可用。我讀過關於編譯目標平臺設置爲x86而不是任何平臺的項目。這對我來說也不起作用,但問題可能在這些方面? – 2010-11-12 09:43:12