ASP.NET 类型初始值设定项引发异常
2017-05-23 11:15
253 查看
连续两天都为这个运行时错误“类型初始值设定项引发异常”而烦恼,调试也不知道哪里出了问题。上网Google一下,一大堆相同的问题,可是按照那些方法折腾来折腾去,问题还是一样。最后在CSDN上发帖子问了,果然“重赏之下必有勇夫”,很快就有高手回复了,问题也随着解决了。哈哈。在此写个随笔,以后如果大家遇到类似问题,也可参考一下,自己也做个备忘,不然放在电脑上,又找不到,我的电脑文件到处乱放,有时连我自己都找不到^_^。
问题是这样嘀:
项目采用了三层架构和工厂模式,并借鉴了PetShop的架构,因为这个项目也是采用分布式的数据库,目前只有三个数据库,主要出于提高访问性能考虑。
原来是按照网上对PetShop的介绍来给各项目添加引用的。
1、Web 引用 BLL。
2、BLL 引用 IDAL,Model,使用DALFactory创建实例。
3、IDAL 引用 Model。
4、Model 无引用。
5、DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用。
6、SQLServerDAL 引用 Model和IDAL,被DALFactory加载的程序集,实现接口里的方法。
问题就出在这里了。顶!
按照PetShop的架构,是DALFactory程序集里通过反射创建针对特定数据访问层里的对应类实例,这样BLL调用接口时就知道调用这个对应类实例里的实现方法。
而反射动态加载程序集是通过这种方法 Assembly.Load("程序集").CreateInstance("命名空间.类"),其中的“程序集”读取的是Web层bin文件夹下对应的dll,即反射加载的程序集dll在Web层的bin文件夹必须有,不然就会出现如题的错误。问题解决了~^_^
出现这种错误的另两种情况,这也是在网上看到的,一起写下来。
一、Web.config配置错误。
在DALFactory程序集里的DataAccess类里,通过
private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
来获得程序集的名称的。
在Web.config里我的配置如下:
<appSettings>
<add key="WebDAL" value="PDMS.SQLServerDAL"/>
</appSettings>
二、程序集名称和默认命名空间错误。
在各个程序集右键--属性
问题是这样嘀:
项目采用了三层架构和工厂模式,并借鉴了PetShop的架构,因为这个项目也是采用分布式的数据库,目前只有三个数据库,主要出于提高访问性能考虑。
原来是按照网上对PetShop的介绍来给各项目添加引用的。
1、Web 引用 BLL。
2、BLL 引用 IDAL,Model,使用DALFactory创建实例。
3、IDAL 引用 Model。
4、Model 无引用。
5、DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用。
6、SQLServerDAL 引用 Model和IDAL,被DALFactory加载的程序集,实现接口里的方法。
问题就出在这里了。顶!
按照PetShop的架构,是DALFactory程序集里通过反射创建针对特定数据访问层里的对应类实例,这样BLL调用接口时就知道调用这个对应类实例里的实现方法。
而反射动态加载程序集是通过这种方法 Assembly.Load("程序集").CreateInstance("命名空间.类"),其中的“程序集”读取的是Web层bin文件夹下对应的dll,即反射加载的程序集dll在Web层的bin文件夹必须有,不然就会出现如题的错误。问题解决了~^_^
出现这种错误的另两种情况,这也是在网上看到的,一起写下来。
一、Web.config配置错误。
在DALFactory程序集里的DataAccess类里,通过
private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
来获得程序集的名称的。
在Web.config里我的配置如下:
<appSettings>
<add key="WebDAL" value="PDMS.SQLServerDAL"/>
</appSettings>
二、程序集名称和默认命名空间错误。
在各个程序集右键--属性
相关文章推荐
- 解决ASP.NET“类型初始值设定项引发异常”
- asp.net “Xcrs.DAL.Oracle.ProcManager”的类型初始值设定项引发异常
- [ASP.NET]类型初始值设定项引发异常(转)
- 【asp.net】Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory的类型初始值设定项引发异常
- .net System.TypeInitializationException 类型初始值设定项引发异常
- .net System.TypeInitializationException 类型初始值设定项引发异常
- 原创----Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常,以及Spring.net的配置的大体写法
- Oracle用 odp.net 时出现 Oracle.DataAccess.Client.OracleConnection的类型初始值设定项引发异常 问题的解决
- 无法在Web服务器上启动调试."System.Net.DigestClient"的类型初始值设定项引发异常,Unable to debug System.Net.DigestClient throws an exception
- Net使用RdKafka引发异常RdKafka.Internal.LibRdKafka 的类型初始值设定项引发异常
- 类型初始值设定项引发异常
- 单件模式出现“类型初始值设定项引发异常”问题原因
- DAL.SQLHelper 的类型初始值设定项引发异常
- 解决 配置文件 类型初始值设定项引发异常 报错
- “NHibernate.Cfg.Environment的类型初始值设定项引发异常”的解决方法
- 某某 类型初始值设定项引发异常
- 解决 配置文件 类型初始值设定项引发异常 报错
- 反射:类型初始值设定项引发异常(转)
- “从数据库检索信息时发生错误:‘Microsoft.VisualStudio.DataDesign.SyncDesigner.SyncFacade.SyncTableConfigManager’ 的类型初始值设定项引发异常。”的解决办法
- 类型初始值设定项引发异常