在编程中,使用反射(IoC)是一个很好的架构。在.Net中,System.Reflection命名空间提供了对反射的支持。然而,在Assembly.Load()方法处,经常出现未能加载程序集的错误:
$exception {"未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件。":"SQLServerDAL"} System.Exception {System.IO.FileNotFoundException}
Assembly.Load(assemblyName)实际上是在assemblyName.dll文件中查找类custructor的定义。例如,Assembly.Load("PetShop.SQLServerDAL").CreateInstance("PetShop.SQLServerDAL.Cateogry"),就是在PetShop.SQLServerDAL.dll程序集中查找PetShop.SQLServerDAL.Category类。而在自己定义类库时,往往忽视了生成的程序集的名称。
注意各个类库是否都添加了相应程序集的引用
$exception {"未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件。":"SQLServerDAL"} System.Exception {System.IO.FileNotFoundException}
Assembly.Load(assemblyName)实际上是在assemblyName.dll文件中查找类custructor的定义。例如,Assembly.Load("PetShop.SQLServerDAL").CreateInstance("PetShop.SQLServerDAL.Cateogry"),就是在PetShop.SQLServerDAL.dll程序集中查找PetShop.SQLServerDAL.Category类。而在自己定义类库时,往往忽视了生成的程序集的名称。
注意各个类库是否都添加了相应程序集的引用