c# 無法加載DLL“xxxx”:找不到指定的模塊(異常來自HRESULT:0X8007007E)的一個解決方法

以前的一個c#項目,今天運行的時候突然發現調用DLL時出現了下面的錯誤。

心中很詫異,明明以前能用的,今天怎麼報錯了。代碼沒有修改,也不存在DLL路徑錯誤的問題。

後來看到有網友說用 depends這個軟件可以對DLL文件進行分析,就拿來一試。果然找到了問題。是以前編譯器調用的庫和現在編譯器調用的庫版本不一樣。

depends可以從網上下載:http://www.dependencywalker.com/

depends用法大致如下:

打開需要調用的DLL:

發現

有文件缺少提示,仔細對比debug文件夾下對應的DLL庫,發現文件有所不同,重新下載對應版本的庫,問題解決

c#調用DLL的時候如果調用失敗只會報給說:xxxxDLL找不到指定的模塊,不給確切的錯誤在哪,所以有時候會帶來誤導。所以使用這個depends可以協助解決問題,但要注意這個工具有時候因爲路徑問題等原因,會誤報,所以在使用的時候需要仔細一些。

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