您的位置:首页 > 编程语言 > C#

使用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选项就是你生成的文件名,修改过后就没有问题喇。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: