我正在尝试读取和写入用户设置的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?
答案 0 :(得分:1)
也许你正在查看错误的文件? 您解决方案中的app.config将被复制到bin / Debug或bin / Release文件夹中的YourProgramFile.exe.config。运行程序时,它将更新此文件,而不是解决方案中的app.config文件。
那么也许您还应该检查应用程序文件夹的写入权限。通常(Win Vista,Win 7)执行应用程序的用户在应用程序应驻留的Program Files文件夹中没有写入权限,因此由于缺少写入权限,更新.config很可能会失败。对于Linux / Unix系统来说更是如此。
您应该尝试将需要编写的元素分开,并在用户特定的文件夹中编写其他配置文件。您可以从最初的普通应用程序配置中获取默认值,只需更新用户特定的配置文件,这样您就不会受到文件权限的阻碍,并且每个用户都可以专门更新其设置。