C#調用C++的DLL錯誤解決方法


一、報錯如下:無法加載DLL"**.dll":找不到指定的模塊(異常來自HRESULT:0x8007007E)

       此時若可以確定此dll就在bin目錄下,則說明是此dll調用別的dll,這時下載depends軟件,查看此dll缺少的dll。

       筆者缺少的dll如下:

       查看之后發現,缺的都是系統庫。

       缺少系統庫,有兩種方法:

              1、下載該dll,放在C:\Windows\System32或C:\Windows\SysWOW64目錄下,執行regsvr32  **.dll進行注冊。

              2、直接安裝VC++運行庫,,筆者安裝了MSVBCRT_AIO_2018.10.28_X86 X64,問題解決。

二、報錯如下:未處理BadImageFormatException試圖加載格式不正確的程序。(異常來自HRESULT:0x8007000B)

       1、這種錯誤通常是由於該dll是在32位系統下開發的,調用則是在64位系統下導致的。此時可以設置生成平台為x86,或Any CPU自動選擇平台,問題則可解決。

         2、若缺少依賴的dll,也會報此錯誤。此時按照一中的方法下載安裝VC++運行庫。


免責聲明!

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



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