在app.config文件中编写/读取用户定义的设置

时间:2011-08-16 18:39:07

标签: configuration app-config delphi-prism read-write

我正在尝试读取和写入用户设置的app.config文件。我找到了一个用于处理confige文件的代码片段。我终于得到了它的编译和运行,但它似乎对App.config文件没有任何作用。

以下是代码:

Method MainForm1.Button1.Click(sender: System.Object; e: System.EventArgs);
var
config  : System.Configuration.Configuration;
begin
     config:=ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
     config.AppSettings.Settings.Add('PreferenceToRemember','value1');
     config.Save(ConfigurationSaveMode.Modified);
     ConfigurationManager.RefreshSection('appSettings');
end;

它正在编译而没有任何错误,但我不知道它是否正在做任何事情。

代码有什么问题吗?我需要能够写/读一个部分并写/读一个键/值。提前谢谢。

更新:我只使用Properties.Settings.Default而不是使用ConfigurationManager。但是,我在写入它并从中读回时遇到了一些问题,尽管程序没有任何错误,并且代码看起来很简单。

如何从代码中读取和写入Properties.Settings.Default?

1 个答案:

答案 0 :(得分:1)

也许你正在查看错误的文件? 您解决方案中的app.config将被复制到bin / Debug或bin / Release文件夹中的YourProgramFile.exe.config。运行程序时,它将更新此文件,而不是解决方案中的app.config文件。

那么也许您还应该检查应用程序文件夹的写入权限。通常(Win Vista,Win 7)执行应用程序的用户在应用程序应驻留的Program Files文件夹中没有写入权限,因此由于缺少写入权限,更新.config很可能会失败。对于Linux / Unix系统来说更是如此。

您应该尝试将需要编写的元素分开,并在用户特定的文件夹中编写其他配置文件。您可以从最初的普通应用程序配置中获取默认值,只需更新用户特定的配置文件,这样您就不会受到文件权限的阻碍,并且每个用户都可以专门更新其设置。