C# 持久化应用程序范围设置

C# 持久化应用程序范围设置,c#,C#,我有一些windows窗体的应用程序级设置,我可以使用Properties.settings.Default.offset读取这些设置。我想保留这些设置,以便以后可以使用这些设置 根据SO的帖子,我尝试了以下方法- Properties.Settings.Default["offset"] = this.offsetTextBox.Text; Properties.Settings.Default.Save(); 但是它没有保存值,因为即使在更改了旧值之后,我也可以看到它。根据文档、生成代码的

我有一些windows窗体的应用程序级设置,我可以使用
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
    文件。

    请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记可用于此目的。可能的重复