我有一个程序集(.Net 3.5中的类库项目),它有一些引用,如System.Configuration
和System.Web
。我在Web应用程序上使用它并且工作正常。
现在,我需要引用一个Windows窗体项目,我无法理解发生了什么。当我尝试创建我的类的实例时,它不起作用; 1}}会抛出异常。
我尝试创建我的程序集的其他实例和那些工作,除了这个特定的类。
有人知道发生了什么吗?
答案 0 :(得分:69)
当无法初始化类的静态字段时,通常会抛出TypeInitializationException。例如:
class BadClass
{
private static MyClass fieldName = new MyClass();
}
如果MyClass的构造函数抛出,则会在第一次使用BadClass之前导致TypeInitializationException。
您可以查看TypeInitializationException的InnerException属性,以更详细地深入了解失败的原因。它通常会指向导致类型初始化失败的基础异常。
答案 1 :(得分:9)
TypeInitializationException。这可能有很多原因,但很可能你的类的静态构造函数中有一些代码会引发异常。您可以查看InnerException
属性以获得真正的异常。
答案 2 :(得分:4)
为了捕获另一个场景,当AppConfig包含未在configSections节点中定义的部分时,将抛出此错误。它区分大小写,因此请验证您的自定义配置部分是否与configSections节点中的内容匹配。
答案 3 :(得分:1)
对我来说,它是静态字典中的重复键
public static Dictionary<string, int> Cities = new Dictionary<string, int>(){
{"New York", 1},
{"Amsterdam", 2},
{"New York", 1}
};