存储.NET应用程序的用户设置的最佳方法是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

我有一个.NET 2.0 Windows窗体应用程序。商店用户设置的最佳位置在哪里(考虑Windows指南)?

有人指出Application.LocalUserAppDataPath。但是,这会创建一个文件夹结构,如:

C:\ Documents and Settings \ user_name \ Local Settings \ Application Data \ company_name \ product_name \ product_version \

如果我发布我的应用程序的版本1并在那里存储一个XML文件,然后发布版本2,这将更改为不同的文件夹,对吧?无论应用程序版本如何,我都希望每个用户都有一个文件夹来存储设置。

提问于
用户回答回答于

我喜欢使用内置的应用程序设置。然后,如果想在设计时或运行时使用设置设计器,则可以支持使用设置设计器:

// read setting
string setting1 = (string)Settings.Default["MySetting1"];
// save setting
Settings.Default["MySetting2"] = "My Setting Value";

// you can force a save with
Properties.Settings.Default.Save();

它确实将设置存储在描述的类似文件夹结构中(使用路径中的版本)。但是,通过简单的电话:

Properties.Settings.Default.Upgrade(); 

该应用程序将拉动所有先前版本的设置以保存。

用户回答回答于

.NET应用程序具有易于使用的内置设置机制。在我看来,它的问题在于它将这些设置存储在一个相当模糊的目录中,最终用户将无法找到它。而且,只是从调试切换到发布构建会更改此目录的位置,这意味着保存在一个配置中的任何设置都会丢失。

出于这些和其他原因,我想出了我自己的Windows窗体设置代码。它不像.NET中那样光滑,但它更加灵活,并且我一直都在使用它。

扫码关注云+社区