zoukankan      html  css  js  c++  java
  • 配置文件初始化异常Configuration system failed to initialize

    最近用户反映一些电脑启动程序就崩溃,还给演示了一个比较诡异的问题

    “把软件重新拷贝到另外一个目录,就能正常运行"。还说过一段时间又不能运行需要在换个位置。

    ’由于当时没有设置全局异常,只能借助系统操作日志来分析, 系统日志记录不全,就说发生一个异常程序挂掉。

    就简单加上全局异常捕获。 

    public class ExceptionHelper
        {
            public static void InitException()
            {
                Application.Current.DispatcherUnhandledException += Application_DispatcherUnhandledException;
                AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            }
    
            private static void Application_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
            {
                LogManager.WriteException(e.Exception);
                e.Handled = true;
            }
    
            private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
            {
                var exception = e.ExceptionObject as Exception;
                if (exception != null)
                {                
                    LogManager.WriteException(exception);
                }
            }
        }

    加入日志详细信息后,看到提示 Configuration system failed to initialize错误信息。然后借助搜索,找到一篇文章

    了解到原因两种:

    一、config 文件中 <configSections> 的位置顺序有关或者内容格式错误。

    二、包含了User作用域的配置项的时候,user.config文件损坏了。

    结合自己的程序确实用道<configSections>这个节点,用来保存程序在屏幕的位置,该节点已经在最上面,检测内容格式也是正常。

    那就剩下第二种可能了,找位置:C:UsersAdministratorAppDataLocalSuspendWpfApp,删除里面的文件即可

     Administrator:用户名, SuspendWpfApp:软件名。

    为了彻底解决这个问题,不在使用 Properties.Settings.Default来保存信息,自己用文件来保存上次信息。

    因为一旦userSettings出现问题,软件中依赖appSettings节点的信息将都获取不到。

  • 相关阅读:
    函数的四种调用模式.上下文调用.call.apply
    caller.arguments.callee.eval
    面向对象相关知识总结
    javascript与jQuery的each,map回调函数参数顺序问题
    HTML5自定义属性的设置与获取
    [bzoj1911][Apio2010]特别行动队
    [学习笔记]乘法逆元
    [日常训练]普通计算姬
    [学习笔记]线性筛
    [学习笔记]数论(一)
  • 原文地址:https://www.cnblogs.com/ColorsWin/p/13379435.html
Copyright © 2011-2022 走看看