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

在重构机房的过程中用到了抽象工厂+反射+配置文件对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中的反射机制的原理,关于对“反射”的认识会在之后的文章中介绍,请大家敬请期待哈!

谁的指间滑过了千年时光;谁在反反复复中追问可曾遗忘;

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

相关文章:

你感兴趣的文章:

标签云: