調用32位dll的方法問題和解決方法

今天遇到了一個問題,在調用一個dll時,出現異常,

試圖加載格式不正確的程序。 (Exception from HRESULT: 0x8007000B)

在網上搜了一下,是64位環境調用32位dll出現的問題。我的確是在調用一個不太清楚的dll,那個dll可能是32位的。

解決方法:

在項目屬性中,Build標籤中,將Platform target的選項從Any CPU改爲x86,重新編譯後,就可以正確執行了。當然,這個也損失了一些平臺兼容性。

我的環境是Windows 7 64bit 中文旗艦版,Vs 2010 Preminum sp1(10.0.40219.1 SP1Rel),.net framework 4.0.30319 SP1Rel。

我的項目類型Windows Form,沒有在web中遇到,Web項目可能需要在IIS管理器中設置(待驗證):

IIS->應用程序池->高級設置->常規->啓用32位應用程序,改爲True。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章