对象引用未设置为对象的实例(应用程序用户设置)

时间:2012-07-23 22:18:38

标签: c# .net null settings

在我的应用程序的用户设置中,我有一个名为“网站”的StringDictionary。 NullReferenceException,消息“对象引用未设置为对象的实例”。当它到达这一行:Properties.Settings.Default.websites.Add(nameBox.Text, urlBox.Text);,但我无法弄清楚原因。 VS调试器显示nameBox.Text和urlBox.Text是正确的值。

修改

我已经确定它默认为null,所以在Form.Load上,我添加了

if (Properties.Settings.Default.websites == null) {
            MessageBox.Show("property is null");
            Properties.Settings.Default.websites = new StringDictionary();
}

但现在设置没有保存。

1 个答案:

答案 0 :(得分:0)

看起来您的StringDictionary网站Scope设置为Application,无法在运行时修改。您将把范围更改为用户,以便可以在每个用户的运行时更改

  

取自MSDN

     

Application-scoped settings可用于URL等信息   用于Web服务或数据库连接字符串。这些值是   与应用程序相关联。因此,用户无法更改它们   在运行时。

修改:要保存设置,您必须使用Properties.Settings.Default.Save();