1

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

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

        //some more
    }

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

4

2 回答 2

8

这很容易

Properties.Settings.Default.Save();

你可以把它放在你的static void Main()方法中

于 2009-02-25T09:13:32.430 回答
3

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

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

 Settings.Default.GetPreviousVersion("MyPropertyName");

SettingsPropertyNotFoundException如果您从早期版本开始添加了新属性,您确实需要记住捕获。

于 2009-02-25T10:32:13.320 回答