【问题标题】:How to preserve project settings between program executions?如何在程序执行之间保留项目设置?
【发布时间】:2010-10-09 18:32:22
【问题描述】:

在我的应用程序中,我允许用户选择包含一些数据的文件,读取数据并且当用户关闭并再次打开应用程序时它应该可用。我认为可以将值存储在设置中,所以我写了一个类:

public static class SettingsManager
    {
        public static string ComplexValidationsString
        {
            get { return (string)Properties.Settings.Default["ComplexValidations"]; }
            set { Properties.Settings.Default["ComplexValidations"] = value; }
        }

        //some more
    }

设置值并关闭应用程序后,值丢失了。有没有类似的方法可以保留价值?我曾经看过一些代码来替换写入配置文件中的数据,所以我想有办法。

【问题讨论】:

    标签: c# .net settings


    【解决方案1】:

    除了 ybo 的回答之外,您应该知道 .NET 将设置文件保存在与您启动应用程序的位置和版本号相关的文件夹中。

    这意味着如果您更新版本号(或从不同的地方运行它),您将获得一组新的空白设置。我添加了一个属性,让我可以检测我们何时首次运行新版本,并尝试从以前的设置升级。您可以使用检索旧设置。

     Settings.Default.GetPreviousVersion("MyPropertyName");
    

    如果您从早期版本开始添加了新属性,请务必记住捕获 SettingsPropertyNotFoundException

    【讨论】:

      【解决方案2】:

      就这么简单

      Properties.Settings.Default.Save();
      

      你可以把这个放在你static void Main()方法里

      【讨论】:

        猜你喜欢
        • 2018-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-21
        • 2015-06-02
        • 1970-01-01
        • 2022-01-18
        相关资源
        最近更新 更多