【发布时间】:2014-06-11 22:35:58
【问题描述】:
使用 VS2010 Express、Win7-64。 在我的应用程序中,我有几个应用程序设置。 大多数(混合类型)是用户设置,一种是应用程序设置(一个数据集)。
我使用内置的设置表,其中一个设置范围设置为应用程序,而其他范围设置为用户。 用户设置全部保存并检索OK,在XML文件中也可以看到。
(string userConfig = ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;)
问题:虽然用户设置保存正常,但没有保存一个应用程序设置,并且不存在于相关配置文件中。
(string appConfig = ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None).FilePath;).
在Settings.Design文件中我们可以看到Application Setting为只读项(get only),可以,但是没有保存数据,也没有找到数据,(除了一个空的DataSet)。
User设置里面有类似的DataSet,保存OK,可以加载了。
为了保存设置,我运行:
Properties.Settings.Default.Upgrade();
Properties.Settings.Default.Save();
谢谢
【问题讨论】:
-
@PatrickHofman 这是一个很好的做法,否则每当运行新版本的软件时,它都会创建一个具有默认值的全新设置副本。但应该在加载之前完成。
标签: c# app-config