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

这是C#编程中常见的错误,进行反射时候报错,我们首先要理解反射的原理,首先用Assembly.Load()方法配置文件中找Key值为”DB”的Valaue值,Value为D层类库的名称,通过CreateInstance方法把D层类库类传递进去,反射D层指定类的执行结果。

代码如下:

string StrDB = System.Configuration.ConfigurationManager.AppSettings["DB"];

public IDAL.ILogin CreateLog()

{

string ClassName = StrDB +"." + "Data";

return(IDAL.ILogin)Assembly.Load(StrDB).CreateInstance(ClassName);

}

红色代码报错,在执行反射是找不到D层类库名称,类库都找不到了类库中的类就更找不到了。


解决方法有两种:

打开项目资源管理文件,找到运行类库的文件夹,我这个是类库名字是UI,打开UI\bin\Debug,现去报错提示中的DAL类库文件夹DAL\bin\Debug把DAL.dll和DAL文件放到UI指定文件夹中即可

错误代码打开,调试——属性——生成——输出路径,把路径改成报错提示类库文件夹DAL\bin\Debug即可。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...