我在winform中 直接取System.Configuration.ConfigurationManager.AppSettings["ModelCache"])的值可以取到
但是 我把 这个封装到 一个 class里面 作为一个 属性 来读 就老是出错 public static int ModelCache
        {
            get { return Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["ModelCache"]); }
        }
捕捉到 System.TypeInitializationException
  Message="“Common.CommonVariables”的类型初始值设定项引发异常。"
未将对象引用设置到对象的实例这个类是是用以前的web项目上拿下来的 这是哪里有问题?

解决方案 »

  1.   

    新建一个。config,拷贝键值串,再试
      

  2.   

    你这个类所在的项目,是另一个项目吗,是否有它自己的setting
      

  3.   

    封装到另一个dll?那么它会在xxx.dll.config里面找。
      

  4.   

    楼主确定读的是之前的config文件?如果按照楼主的逻辑,是不应该报错的。检查下是否读到config文件?
      

  5.   

    是这样的  我现在的winform项目 的 BLL 和 Common 类都是  copy  的 以前做的一个web项目winform 调用 bll  ,bll 调用 common断点调试的时候
    winform 里和bll里,直接调用
    System.Configuration.ConfigurationManager.AppSettings["ModelCache"]) 
    可以取到值.
    但是 使用  Common.CommonVariables.ModelCache  的时候 取不到值, 我也断点不进去
      

  6.   

    System.Configuration.ConfigurationManager.AppSettings["ModelCache"])
    是取当前项目的配置信息.
    你封装的类所在的项目 是不是无此配置文件啊 ?
      

  7.   

    我 是自己copy的类啊, 另外 那个项目是有配置文件的
      

  8.   

    明白了 
     今天做项目遇到 运行时错误类型初始值设定项引发异常,System.TypeInitializationException  原因:类的静态成员在初始化时如果出现异常,类的其它静态成员或对该类进行初始化都会抛出这个异常。. 解决方法:如果类中存在静态成员,应确保其初始化时不会抛出异常,否则会影响对该类的正常
    不过我这个类里面全是静态方法, 有没有什么办法不去改变每一个属性的代码,来实现不抛出异常?