0

我有一个应用程序,我需要存储 3 组字符串集合(用户书签和其他一些东西)。我在我的 C# 项目中添加了一个“设置文件”,创建了 3 个专用字符串集合类型的设置变量。一切似乎都很好,因为我可以向每个集合添加字符串并调用 Settings.Default 的 .Save() 方法。我可以在生成的“user.config”文件中看到我漂亮的字符串集合。

但是,这些值何时加载?Settings 没有 .Load() 方法。尝试访问 Settings.-setting variable-name 会引发空异常错误,因此显然这些值不会在启动时自行加载。

我错过了什么?

4

1 回答 1

1

也许您在使用不同版本的应用程序和设置文件时遇到问题?尝试调用ApplicationSettingsBase.Upgrade将以前的设置迁移到新版本。

请注意,您应该只调用Upgrade一次,并且仅在您实际更新设置时调用。创建一个NeedsUpgrade默认值为 true 的设置属性,并在应用程序加载时执行以下操作:

if (Settings.Default.NeedsUpgrade)
{
    Settings.Default.Upgrade();
    Settings.Default.NeedsUpgrade = false;
    Settings.Default.Save();
}

有了这个,Upgrade只会在创建新版本的设置文件时调用。

于 2012-12-08T01:11:01.790 回答