将用户设置存储到应用程序文件

时间:2011-02-04 11:32:30

标签: c# .net app-config portability

我正在使用我的C#应用​​程序设置:

String str = Properties.Settings.Default.SETTINGS_NAME;

保存此设置时,会在

上创建设置文件
C:\Documents and Settings\<user name>\Local Settings\Application Data\<comp name>\Keb.exe_Url_pbs4eg1o2ija22omldrwjxhdam0jxxi5\1.0.0.0\user.config

有没有办法将此路径更改为Application.ExecutablePath\user.config,并在下次使用它,以便我的应用程序可以更轻松?

2 个答案:

答案 0 :(得分:9)

您可以通过创建自定义user.config来控制SettingsProvider文件的位置。幸运的是,someone at CodeProject已经做到了。

有关所有详细信息,请参阅我的回答:How to make designer generated .Net application settings portable

答案 1 :(得分:2)

如果您希望它是单用户或以其他方式使您的应用程序的配置可移植,我将使用自定义配置文件,如 .ini 文件,并将其保留为我的应用程序的根文件夹。< / p>

这样任何想要拥有这些设置的人都可以将它复制到其他计算机上自己应用程序的根文件夹中。当应用程序运行时,它只会加载设置并相应地运行。

以固定格式保存数据,如

[setting_name] = [Setting_value]\n

XML 文件,其中包含用于设置的标记名称和值... ...的值...)

你也可以使用注册表设置,但用户不觉得复制和合并.reg文件是微不足道的

这是我看过一些PC游戏的方式(例如我经常更改Crysis和MassEffect设置)和软件保存他们的配置文件。