C#调用dll报错:无法加载dll,找不到指定模块的解决

 

C#调用dll报错:无法加载dll,找不到指定模块

最近在做一个swmm模型的项目,在swmm源码上进行改写了两个函数,结果调用的时候就报错了,C#报错之说找不到指定模块,就是不说具体问题,在网上排查了很久,在这里记录一下。

如果确定自己的dll函数 没有问题的话,那可能就是你这个dll需要依赖其它的dll,而你的系统正好缺失了某些dll,所以运行就报错了,在网上看要下载Depends,查看缺少什么依赖,结果我一查,好家伙,一大串,照它这个逻辑,我得一个个下载缺失的dll,补回去,问题是我之前还调用过其它dll,那些dll能运行,但是放到Depends中查看依赖,依然报错一大堆,所以我就没按照这种方法来。

后来我下载了eXeScope,在这里查看dll信息,如下图:

导出项为这几个函数,我调用的也是这几个函数,说明没有调用错。

而导入项需要依赖这两个dll,所以我就尝试在System32中找到这两个dll(没有的去网上下载),拷贝到项目debug里面,就可以成功运行了

 

C#调用dll报错:试图加载格式不正确的程序

这个上网查了一下,网上说是:

所以我找了一下,发现我的VS里面C#没有的设置64还是86,最后找到了,操作如下截图:

再去选择配置管理器,就有了64和86。选择自己调用DLL的类型是32还是64再去选择运行时是86还是64,就不会报错了。

 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程宝库

 DataTable.Select()根据条件筛选数据很多时候我们获取到一个表的时候需要根据表的包含的队列去筛选内容,一般来说可能想到的就是遍历整个表的内容进行条件筛选 ...