我有一个应用程序,我需要存储3组字符串集合(用户书签和其他一些东西)。我在我的C#项目中添加了“设置文件”,创建了Specialized String Collection类型的3个设置变量。一切似乎都很好,因为我可以为每个集合添加字符串并调用Settings.Default的.Save()方法。我可以在生成的“user.config”文件中看到我漂亮的字符串集合。
然而,何时加载这些值?设置没有.Load()方法。尝试访问Settings.-setting变量名会引发空异常错误,因此显然这些值不会在启动时自行加载。
我错过了什么?
答案 0 :(得分:1)
也许您遇到了不同版本的应用程序和设置文件的问题?尝试致电ApplicationSettingsBase.Upgrade
将以前的设置迁移到新版本。
请注意,您应该只调用Upgrade
一次,并且仅在您实际更新设置时。创建名为NeedsUpgrade
的设置属性,默认值为true,并在应用程序加载时执行以下命令:
if (Settings.Default.NeedsUpgrade)
{
Settings.Default.Upgrade();
Settings.Default.NeedsUpgrade = false;
Settings.Default.Save();
}
使用此功能,只有在创建新版本的设置文件时才会调用Upgrade
。