加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

未能加载文件或程序集‘DAL’或它的某一个依赖项,系统找不到指定

发布时间:2020-12-13 22:35:27 所属栏目:百科 来源:网络整理
导读:在重构机房的过程中用到了抽象工厂+反射+配置文件对B层和D层解耦,在运行时出现了一个问题:“未能加载文件或程序集‘DAL’或它的某一个依赖项。系统找不到指定的文件”。重新检查了一遍工厂类和D层中的代码,发现代码没有问题,通过上网查解决方案,知道了

在重构机房的过程中用到了抽象工厂+反射+配置文件对B层和D层解耦,在运行时出现了一个问题:“未能加载文件或程序集‘DAL’或它的某一个依赖项。系统找不到指定的文件”。重新检查了一遍工厂类和D层中的代码,发现代码没有问题,通过上网查解决方案,知道了问题出现的原因,原来是在U层中没有找到关于D层的DLL文件。

大家都知道.Net程序的运行机制是在启动层的bin文件下的dubug里面必须包含其他程序集生成的DLL文件,程序在运行时会直接在启动的这一层里面直接调用所需要的DLL文件。上述问题由于在U层的bin文件下缺少D层的DLL文件才会出现的。

这个问题的解决方案有两种:

1、将D层中生成的DLL文件手动地添加到U层的bin文件中的dubug文件夹里面,不过这样只能解决当前的问题,后期还要做大量的添加工作。

2、调整D层中DLL的生成路径。找到当前程序集,右击属性,在编译中将生成输出路径改为U层文件下的bin文件中的dubug文件下就可以了。

总结

关于这一部分的问题也涉及到.Net中的反射机制的原理,关于对“反射”的认识会在之后的文章中介绍,请大家敬请期待哈!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读