这个异常消息是什么意思?

时间:2011-07-13 10:07:49

标签: c# exception

我正在用C#编写一个应用程序(类似记事本)。我正在使用Properties.Settings类来保存用户首选项。它一直工作正常,直到它开始显示此异常消息时,我试图运行它。

Configuration system failed to initialize

我注意到错误源自代码的这一部分:

    private void TextPad_Load(object sender, EventArgs e)
    {
        rtbText.WordWrap = Properties.Settings.Default.WordWrap;
        rtbText.Font = Properties.Settings.Default.DefFont;
        rtbText.ForeColor = Properties.Settings.Default.ForeColor;
        rtbText.BackColor = Properties.Settings.Default.BackColor;
        if (Properties.Settings.Default.ShowLast)
        {
            OpenLocalFile(Properties.Settings.Default.LastFile);
        }

        // There are other lines which are not relevant to this question
    }

我在InitializeComponent();之后立即将所谓的行移到了表单构造函数中,但我仍然遇到了同样的错误。

实际上编译器在Settings.Designer.cs中告诉错误源于此:

    [global::System.Configuration.UserScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Configuration.DefaultSettingValueAttribute("False")]
    public bool WordWrap {
        get {
            return ((bool)(this["WordWrap"]));
        }
        set {
            this["WordWrap"] = value;
        }

如果我从rtbText.WordWrap = Properties.Settings.Default.WordWrap;移除TextPad_Load,则会显示

    [global::System.Configuration.UserScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Configuration.DefaultSettingValueAttribute("Consolas, 9.75pt")]
    public global::System.Drawing.Font DefFont {
        get {
            return ((global::System.Drawing.Font)(this["DefFont"]));
        }
        set {
            this["DefFont"] = value;
        }

现在唯一的解决方案是从TextPad_Load删除这些行(这使得加载用户首选项的想法毫无用处)或启动一个新项目(无论如何我已经完成了)。有人可以解释一下异常消息的含义,也许我可以得到一个解决方案(如果我再次遇到它)? Microsoft VS Help并没有给我任何有形的东西。

由于

1 个答案:

答案 0 :(得分:0)

抛弃现有的.config文件可能会有所帮助。

在Properties.Settings中更改后,旧文件可能不再有效(更改的名称或已删除的项目不再被识别)。

请注意,用户范围设置存储在(驱动器):\ Users(usr)\ AppData \ Local \ Microsoft ... something