試圖加載格式不正確的程序。 (異常來自 HRESULT:0x8007000B)


兩種原因:

第一種為程序的運行以平台系統位數不匹配,第二種則是該死的VS整出來的...

一般在下面三種情景下會發生.

1.64位系統上C#調用32位的C++ *.dll

2.64位系統上IIS發布含有32位的 *.dll應用程序時

3.64位系統上編寫C++ *.dll,在64位系統上通過 C#調用 ,可能成功,也可能失敗,失敗就報BadImageFormatException 異常,也是最二的一種情況.是由該死的VS整出來的

 

解決方法如下:

1.VS在64位系統下面,編譯調試某個C++的API的時候,報錯:未處理BadImageFormatException 試圖加載格式不正確的程序。 (異常來自 HRESULT:0x8007000B)

詳見下圖:

 

 其原因是該API是在32位系統下面開發的,在64位系統上面開發編譯的時候需要將生成的目標平台設為X86

    方法是:

    在右邊的“解決方案資源管理器”里,右鍵該項目點擊屬性。在屬性窗口里選擇“生成”——“目標平台”下拉里選中“X86"即可。見下圖:

 

 

轉自CSDN https://blog.csdn.net/qq_14844633/article/details/71170451

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM