C#調(diào)用dll報(bào)錯:無法加載dll,找不到指定模塊的解決
C#調(diào)用dll報(bào)錯:無法加載dll,找不到指定模塊
最近在做一個swmm模型的項(xiàng)目,在swmm源碼上進(jìn)行改寫了兩個函數(shù),結(jié)果調(diào)用的時(shí)候就報(bào)錯了,C#報(bào)錯之說找不到指定模塊,就是不說具體問題,在網(wǎng)上排查了很久,在這里記錄一下。
如果確定自己的dll函數(shù) 沒有問題的話,那可能就是你這個dll需要依賴其它的dll,而你的系統(tǒng)正好缺失了某些dll,所以運(yùn)行就報(bào)錯了,在網(wǎng)上看要下載Depends,查看缺少什么依賴,結(jié)果我一查,好家伙,一大串,照它這個邏輯,我得一個個下載缺失的dll,補(bǔ)回去,問題是我之前還調(diào)用過其它dll,那些dll能運(yùn)行,但是放到Depends中查看依賴,依然報(bào)錯一大堆,所以我就沒按照這種方法來。
后來我下載了eXeScope,在這里查看dll信息,如下圖:
導(dǎo)出項(xiàng)為這幾個函數(shù),我調(diào)用的也是這幾個函數(shù),說明沒有調(diào)用錯。
而導(dǎo)入項(xiàng)需要依賴這兩個dll,所以我就嘗試在System32中找到這兩個dll(沒有的去網(wǎng)上下載),拷貝到項(xiàng)目debug里面,就可以成功運(yùn)行了
C#調(diào)用dll報(bào)錯:試圖加載格式不正確的程序
這個上網(wǎng)查了一下,網(wǎng)上說是:
所以我找了一下,發(fā)現(xiàn)我的VS里面C#沒有的設(shè)置64還是86,最后找到了,操作如下截圖:
再去選擇配置管理器,就有了64和86。選擇自己調(diào)用DLL的類型是32還是64再去選擇運(yùn)行時(shí)是86還是64,就不會報(bào)錯了。
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C# 實(shí)現(xiàn)QQ式截圖功能實(shí)例代碼
本篇文章主要介紹了C# 實(shí)現(xiàn)QQ式截圖功能實(shí)例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02C#利用XML創(chuàng)建Excel文檔的實(shí)現(xiàn)方法
這篇文章主要介紹了C#利用XML創(chuàng)建Excel文檔的實(shí)現(xiàn)方法,需要的朋友可以參考下2014-08-08C#操作SQLite數(shù)據(jù)庫之讀寫數(shù)據(jù)庫的方法
這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫之讀寫數(shù)據(jù)庫的方法,簡單分析了C#針對SQLite數(shù)據(jù)庫的讀寫及顯示等操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07C# 構(gòu)造函數(shù)如何調(diào)用虛方法
這篇文章主要介紹了C# 構(gòu)造函數(shù)如何調(diào)用虛方法,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07C# DataTable與Model互轉(zhuǎn)的示例代碼
這篇文章主要介紹了C#DataTable與Model互轉(zhuǎn)的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-12-12Unity向量按照某一點(diǎn)進(jìn)行旋轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Unity向量按照某一點(diǎn)進(jìn)行旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01