使用C#的反射机制(AssemblyInfo)时遇到的问题
2008-06-10 13:29
411 查看
项目DALFactory是采用工厂模式设计,主要负责动态创建接口类的实例对象。PetShop4.0的例子当中就是使用反射机制直接创建实例对象。模仿实例,使用工厂模式设计应该不会有什么大问题吧。
具体通过Assembly.Load(path).CreateInstance(className)获取类引用。由这一个方法返回接口类,就可以获取需要用的数据访问层的实例。可是,在使用过程中却总是抛出异常,[System.IO.FileNotFoundException] = {"未能加载文件或程序集“SmsSystem.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件。":"SmsSystem.SQLServerDAL"}
但是很奇怪,我已经添加引用,而且名字空间也没有问题呀,怎么还是说找不到文件。查看bin目录,的确有这些dll文件在呀!百思不得其解,只能上网找资料。原来PetShop生成的DLL文件是PetShop.XXX.dll,它自动多了一个前缀部分。而我自己的DLL怎么也不会生成XXX.XXX.DLL。所以直接按照它在web.config中的路径设置是错误的。
为了让生成的DLL按照上面的命名规则,就需要在项目管理中设置。如下图
application标签下面的Assembly选项就是你生成的文件名,修改过后就没有问题喇。
具体通过Assembly.Load(path).CreateInstance(className)获取类引用。由这一个方法返回接口类,就可以获取需要用的数据访问层的实例。可是,在使用过程中却总是抛出异常,[System.IO.FileNotFoundException] = {"未能加载文件或程序集“SmsSystem.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件。":"SmsSystem.SQLServerDAL"}
但是很奇怪,我已经添加引用,而且名字空间也没有问题呀,怎么还是说找不到文件。查看bin目录,的确有这些dll文件在呀!百思不得其解,只能上网找资料。原来PetShop生成的DLL文件是PetShop.XXX.dll,它自动多了一个前缀部分。而我自己的DLL怎么也不会生成XXX.XXX.DLL。所以直接按照它在web.config中的路径设置是错误的。
为了让生成的DLL按照上面的命名规则,就需要在项目管理中设置。如下图
application标签下面的Assembly选项就是你生成的文件名,修改过后就没有问题喇。
相关文章推荐
- 使用C#的反射机制时遇到的问题
- 使用C#的反射机制时遇到的问题
- 使用C#的反射机制时遇到的问题
- 使用C#的反射机制时遇到的问题
- 使用C#的反射机制时遇到问题
- 使用C#的反射机制时遇到的问题
- 使用C#的反射机制时遇到的问题
- 使用反射为泛型集合添加其他类型的数据时遇到的问题
- 在C#中使用SerialPort类实现串口通信 遇到多线程问题
- C#中使用typeof关键字和GetType()获取类的内部结构(反射机制)
- C# 反射给对象属性赋值遇到的问题——类型转换
- 在C#中使用SerialPort类实现串口通信 遇到多线程问题
- 使用<a>标签提交action会执行两次后台方法的原因(反射机制小实例问题的解决)
- C#中反射机制的使用
- R语言在C#使用DCom中遇到的若干问题
- [C#] 解决Silverlight反射安全关键(SecuritySafeCritical)时报“System.MethodAccessException: 安全透明方法 XXX 无法使用反射访问”的问题
- 在C#中使用SerialPort类实现串口通信 遇到多线程问题
- C# 反射给对象赋值遇到的问题——类型转换
- C#关于使用枚举遇到的问题----Parse()方法使用注意
- C# 使用Linq递归查询数据库遇到的问题及解决方法