又一次遭遇“xxx类型初始值设定项引发异常”

下了个c#实现的轻量级IoC开源项目,可是在本地使用时发现一运行就捕捉到“类型初始值设定项引发异常”的异常信息,调试几次还是不能确定到底什么地方出了问题。印象中好像碰到过这种异常,初步估计是某个静态类初始化不成功引起的,但是不能肯定。

无奈打开ILSpy查看源码,发现静态初始化的地方非常多,而且代码看上去层层嵌套,类名繁多,一行一行跟上去很容易绕晕。折腾好久未果,无奈google一下,发现早就有人和我碰到一样的问题,一看投票最多的正确解决方法差点没把自己搞疯:项目中直接添加log4net.dll引用即可。

经试验,果然。

啊啊啊啊啊啊啊啊啊啊啊啊啊…

原来是log4net,竟然又是log4net。

根据个人经验,很多开源项目都使用了log4net用来记录日志,比如在使用ibatis.net、postsharp、fastdfs的c#客户端和memcached的c#实现的某客户端的时候我都碰到过这个问题。

下次碰到相同的问题能迅速查找到原因吗?能不再浪费时间吗?还能做一些更有价值的事情吗?

或者直接问是不是缺少log4net引用?kao,天晓得。

Memcached Memcached.ClientLibrary.SockIOPool”的类型初始值设定项引发异常的更多相关文章

  1. C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法

    对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...

  2. “System.Data.SqlClient.SqlConnection”的类型初始值设定项引发异常---解决方案

    "System.Data.SqlClient.SqlConnection"的类型初始值设定项引发异常 问题出在了 .net 的C:\WINDOWS\Microsoft.NET\Fr ...

  3. “System.Transactions.Diagnostics.DiagnosticTrace”的类型初始值设定项引发异常[WCF]

    未处理System.TypeInitializationException  HResult=-2146233036  Message=“System.ServiceModel.Diagnostics ...

  4. System.Data.Entity.Internal.AppConfig 类型初始值设定项引发异常

    在一开始时将connectionStrings 写在了configSections之上如下图一示,结果抛出:“System.Data.Entity.Internal.AppConfig”的类型初始值设 ...

  5. 【WinForm】“System.Data.SqlClient.SqlConnection”的类型初始值设定项引发异常,无法识别的配置节 system.serviceModel

    出现问题的原因: 在本机上没有出现问题,让一个同事测试的时候,在另外一台电脑上出现连接数据库失败,系统不能打开的问题 在网上搜了一下,有说是数据库连接字符串错误的,有说app.config文件配置不匹 ...

  6. [转载]vs2012中使用Spring.NET报错:Spring.Context.Support.ContextRegistry 的类型初始值设定项引发异常

    学习使用Spring.NET中的时候,写了一个Demo,在运行时报了一个错误:Spring.Context.Support.ContextRegistry 的类型初始值设定项引发异常. 重新整理思绪, ...

  7. 使用EF访问数据库,出现“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。

    今天在使用的EF时候,发生了"System.Data.Entity.Internal.AppConfig"的类型初始值设定项引发异常.这样的一个错误 查了原因,原来是appconf ...

  8. “DBUtility.DbHelperSQL”的类型初始值设定项引发异常 “DBUtility.DbHelperSQL”的类型初始值设定项引发异常

    今天遇到了一个这样的问题“DBUtility.DbHelperSQL”的类型初始值设定项引发异常“DBUtility.DbHelperSQL”的类型初始值设定项引发异常 也许有和我遇到这问题的人也在这 ...

  9. Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常。

    Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常. 64位系统下,部署32位odp.net,出现问题.解决方法:卸载32位xcopy odt.n ...

随机推荐

  1. touches, targetTouches, changedTouches 区别

    1. touches: A list of information for every finger currently touching the screen2. targetTouches: Li ...

  2. 过滤表名 & 拼接字符串

    /// <summary> /// 分析sql语句中的表名 /// </summary> /// <param name="sql">sql语句 ...

  3. CSS的两大重点

    一.属性:通过属性的复杂叠加才能做出漂亮的网页 二.选择器:通过选择器找到对应的标签设置样式,选择器的作用是:选择对应的标签,为之添加样式 1>标签选择器:根据标签签名找到标签 div{     ...

  4. U盘安装WIN10专业版

    安装环境1个SSD,2个SATA盘. 安装时把2个SATA盘拔掉,并使SSD在BISO中的地位为0区的MASTER,否则安装时会出现,无法创建当前分区,和新建当前分区. 步骤:下载win10正式专业版 ...

  5. C6000系类的内联函数

    1.求绝对值函数 (1) _abs()  C代码  : int _abs(int src)  汇编: ABS  功能: 求32位数据的绝对值   (2) _labs()  C代码: int _labs ...

  6. AngulaJS路由 ui-router 传递多个参数

    定义路由: .state('txnresult', { url: '/txnresult/:originAmount/:finalAmount/:currentPoint/:txnId/:discou ...

  7. 项目中可能用到的demo

    1. 轮播图   https://github.com/codingZero/XRCarouselView 2. 图表   https://github.com/Zirkfied/ZFChart

  8. lambda表达式和查询表达式

    (1)Lambda表达式定义: Lambda是创建匿名函数的另一种形式.它比对应的匿名方法更加的简化.因此,所有的情况都推荐使用Lambda表达式.   它可以包括表达式和语句,并且用于创建委托和事件 ...

  9. asp.net LINQ防止SQL注入式攻击

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  10. ROW_NUMBER over (order by **)

    ROW_NUMBER必须指写over (order by **),有时我根本就不想排序,想按原始顺序 )) AS ROWNUM,* FROM t