写了个程序和仪器通讯的,但需要调用厂商提供的3个dll,在我写的程序中,已经引用了一个dll,假设它叫a.dll,但是程序运行时a需要调用b.dll和c.dll中的方法进行计算,a/b/c都是厂商封装好的,我看不到,而且我用的话只需要引入a(厂商的参考例子就是这么写的,跑起来也没问题),但是我运行的时候显示找不到b。
Detail:
Additionalinformation: 未能加载文件或程序集“c, Version=8.9.35.246,Culture=neutral, PublicKeyToken=18cbae0f9955702a”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
错误类型:
System.IO.FileloadException
我觉得,只引入a的话,那么a找b和c肯定是通过配置文件或者其他方式来获取路径,要是那样的话,怎么写呢
大神帮忙,小弟搞了好几天了,现在数据还读不出来
添加引用b.dll,错误描述就是这么提示的。估计是你调用的a.dll,里面用到了b.dll的方法。
三个文件都要放进来,都引用下
将所有的dll都引入到解决方案
a,b,c三个放到一个目录中看能否加载。主要就是让他们能找到对方。
你把这三个都添加引用到程序中。设置这三个程序集的属性,就好了。
1.程序中只需要引用a.dll
2.将b.dll和c.dll放入a.dll的同一个目录
3.将abc这三个dll都放入windows的system32目录;
不行请密我。
楼上LogicTeamLeader正解!
不管怎么样,谢谢各位的方法