关于调用别人的dll文件出现问题:“未能加载程序集“XXX“或它的一个依赖项。该模块应包含一个程序集清单。”

困扰两个月之久的问题,心里默念无数遍救救孩子吧。
试过网上无数种别人成功的办法我都不行,今天奇思妙想了一下终于解决了,太兴奋了,发个小作文纪念一下。

【情况描述】
自己电脑写的A.dll调用自己电脑写的B.dll是可以运行的,但是调用别人电脑写的C.dll,就会出现如下错误。
我要了C.dll的源码在我电脑上跑也是可以运行的。
然后我用我的电脑把别人发我的C.dll的源码重新生成一下重新用A.dll调用,还是出现同样的错误。

【错误提示】
未能加载程序集"XXX"或它的一个依赖项。该模块应包含一个程序集清单。
在这里插入图片描述

【网友提供的解决办法】PS大家可以挨个试过
(1)同框架(framework);
(2)同平台(X64还是X86);
(3)同版本(assembly或者config修改Version);
(4)C.dll的“复制到本地”属性应该为“true”;
(5)重启vs;
(6)重启电脑;
(7)重装框架(麻烦,跳过);
(8)重装vs(磨叽,跳过);
(9)应用程序池(不适合我,跳过);
(10)强名称(麻烦,跳过,可能有用,谁帮忙测试一下);

【我的解决】
重命名:把C.dll所有的空间名称、解决方案名称、程序集名称全部重命名一下……原来保持一致的还是要保持一致。然后重新生成再调用就有了,有了,有了。。。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对,就是这么简单这么坑。

如果您在Zemax中调用DLL时遇到了“文件加载失败”(File Load Failure)的问题,可能是由于您的DLL文件内部还有其他依赖和库,但这些依赖和库无法被Zemax正确加载所致。 解决这个问题的方法有以下几种: 1. 将DLL文件和所有依赖和库都放在Zemax安装目录的“DLL文件夹下:将DLL文件和所有依赖和库都放在Zemax安装目录的“DLL文件夹下,并在Zemax中使用“DLL调用”命令指定需要调用DLL函数及其参数。这样,Zemax就可以正确加载您的DLL文件及其依赖和库。 2. 将DLL文件和所有依赖和库都放在系统目录下:将DLL文件和所有依赖和库都放在系统目录下(如C:\Windows\System32),并在Zemax中使用“DLL调用”命令指定需要调用DLL函数及其参数。这样,Zemax也可以正确加载您的DLL文件及其依赖和库。 3. 使用依赖分析工具:使用依赖分析工具(如Dependency Walker)来查看您的DLL文件依赖和库,并将这些依赖和库放在Zemax安装目录的“DLL文件夹下或系统目录下。然后,在Zemax中使用“DLL调用”命令指定需要调用DLL函数及其参数。这样,Zemax就可以正确加载您的DLL文件及其依赖和库。 需要注意的是,在使用依赖分析工具时,需要将其设置为与您的DLL文件相同的位数(如32位或64位),否则可能无法正确分析依赖和库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值