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

我正在使用我的C#应用​​程序设置,如下所示:

String str = Properties.Settings.Default.SETTINGS_NAME; 

保存此设置时,会创建一个设置文件

 C:\Documents and Settings\\Local Settings\Application Data\\Keb.exe_Url_pbs4eg1o2ija22omldrwjxhdam0jxxi5\1.0.0.0\user.config 

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

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

有关所有详细信息,请参阅我的答案: 如何使设计器生成的.Net应用程序设置可移植

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

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

以固定格式保存数据

 [setting_name] = [Setting_value]\n 

或者在XML文件中,使用标记名称进行设置,并使用… … …的值:)

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

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