类型初始值设定项引发异常

连续两天都为这个运行时错误“类型初始值设定项引发异常”而烦恼,调试也不知道哪里出了问题。

在王舒和陈雄学长的帮助下,哈哈,终于就解决啦!!
  问题是这样嘀:
  项目采用了三层架构和工厂模式,对项目添加引用的。
  1、Web 引用 BLL。 
     2、BLL 引用 IDAL,Model,使用DALFactory创建实例。 
     3、IDAL 引用 Model。  
     4、Model 无引用。  
     5、DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用。  
     6、SQLServerDAL 引用 Model和IDAL,被DALFactory加载的程序集,实现接口里的方法。
    问题就出在这里了。顶!
   反射动态加载程序集是通过这种方法 Assembly.Load("程序集").CreateInstance("命名空间.类"),其中的“程序集”读取的是Web层bin文件夹下对应的dll,即反射加载的程序集dll在Web层的bin文件夹必须有,不然就会出现如题的错误。
    程序集名称和默认命名空间错误。
          在各个程序集右键--属性,看看程序集名称和默认命名空间有没有写错。这个问题导致如题的错误~~

    我在WebConfig里面写的是MyItem.SQLServerDal但是在web层得bin文件夹下生成的文件是SQLServerDal.dll,这样就会找不到程序集。所以解决办法是在SQLServerDal层右键-》属性,修改程序集为MyItem.SQLServerDal,然后生成解决方案,就没有错误啦!!!!
   
    第一次用反射,就出了这个问题,学到不少,还得加深对反射的理解^_^

 

转载于:https://www.cnblogs.com/imhurley/archive/2011/12/06/2278405.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值