【发布时间】:2011-01-13 13:44:44
【问题描述】:
我有简单的应用程序。更具体地说,这是 Visual Studio 插件。 客户端需要指定几个设置(字符串、整数、小数等)
我需要能够在启动时加载它并在更改时保存。
为了简单起见,我将所有设置都放在一个类 AppSettings 中。
我当然可以使用 DataContractSerializer 来序列化/反序列化 AppSettings,但是 我认为必须有一些标准的方式。
【问题讨论】:
我有简单的应用程序。更具体地说,这是 Visual Studio 插件。 客户端需要指定几个设置(字符串、整数、小数等)
我需要能够在启动时加载它并在更改时保存。
为了简单起见,我将所有设置都放在一个类 AppSettings 中。
我当然可以使用 DataContractSerializer 来序列化/反序列化 AppSettings,但是 我认为必须有一些标准的方式。
【问题讨论】:
有来自 Microsoft 的应用程序设置:
你可以这样使用它:
Properties.Settings.Default.DumpHeader = dumpHeader;
Properties.Settings.Default.DumpFooter = dumpFooter;
Properties.Settings.Default.Save();
加载工作类似。但是你必须先定义一个 .settings 文件。它来自 WPF 框架,不确定它是否也适用于 WinForms。
有类似答案的类似问题:
Best practice to save application settings in a Windows Forms Application
【讨论】:
我本人非常喜欢平面文件存储,例如 INI 文件。可以在here 找到一篇文章,其中包含有关如何在 .NET 中使用 INI 文件的示例代码。
【讨论】:
Visual Studio 插件是特定情况。在这种情况下,如果您想使用standard installation Add-In package,我们只能分发一个包含插件代码的 .dll 文件和一些带有插件定义的 .xml。当我遇到这样的问题时,我尝试使用 Windows 注册表解决它。你可以找到很多用c#处理Windows注册表的例子。
【讨论】: