C# 持久化应用程序范围设置
我有一些windows窗体的应用程序级设置,我可以使用C# 持久化应用程序范围设置,c#,C#,我有一些windows窗体的应用程序级设置,我可以使用Properties.settings.Default.offset读取这些设置。我想保留这些设置,以便以后可以使用这些设置 根据SO的帖子,我尝试了以下方法- Properties.Settings.Default["offset"] = this.offsetTextBox.Text; Properties.Settings.Default.Save(); 但是它没有保存值,因为即使在更改了旧值之后,我也可以看到它。根据文档、生成代码的
Properties.settings.Default.offset
读取这些设置。我想保留这些设置,以便以后可以使用这些设置
根据SO的帖子,我尝试了以下方法-
Properties.Settings.Default["offset"] = this.offsetTextBox.Text;
Properties.Settings.Default.Save();
但是它没有保存值,因为即使在更改了旧值之后,我也可以看到它。根据文档、生成代码的检查和问题“”,应用程序范围的设置是只读的 要更新应用程序范围的设置,您需要更改相应的
请注意,对app.config
文件的更改应该会重新启动应用程序域,因此尝试更新自己的app.config
的行为可能与您预期的稍有不同
还请注意,将对bin
目录中生成的*.exe.config
文件进行更改,而不是对Visual Studio解决方案中的app.config
文件进行更改
另一件需要考虑的事情是:在已部署的应用程序中,除非您以“提升的权限”运行,否则您不太可能对app.config
文件具有写访问权限
如果要持久化/更新此类应用程序设置,请从OS X手册中选取一页并创建一个*.plist
:
在应用程序启动时,在该应用程序具有读/写访问权限的已知位置检查设置的XML文件。在OSX中,应用程序级设置位于/Library/Preferences
中;用户级首选项位于~/Library/preferences
中
如果它不存在,则创建它,并用相关设置的默认值填充它(这可能很简单,只需从app.config
复制
元素即可)
从该文件读取应用程序级别设置
在该文件上放置一个FileSystemWatcher
,以挂接任何更改并更新设置
好了。现在,您可以根据自己的心意更新应用程序级别设置。如果您需要恢复,只需吹走*.plist
文件。请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记可用于此目的。可能的重复