我有一个.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附带的那样光滑,但它更灵活,我一直都在使用它.
或将设置写入xml文件,然后使用“ 隔离存储”将其保存。根据您使用的商店,它会将其保存在“应用程序数据”文件夹中。您还可以选择启用漫游的存储,这意味着当用户登录另一台计算机时,设置将随之移动。