Config配置文件的读写,及无法写入/保存配置文件的问题

目的:
一些数据为了在项目打包好后也能方便的修改和调用,通常会把这些数据放到配置文件中,避免硬编码,修改配置文件内容更方便,而不用修改源代码。

使用:
在解决方案资源管理器中找到App.config文件,这个XML文件就是配置文件。在该XML文件中找到< appSettings >节点,按如下方法添加内容即可:

<appSettings>
<add key="NAME" value="name" />
<add key="AGE" value=10 />
.....
</appSettings>
<appSettings> <add key="NAME" value="name" /> <add key="AGE" value=10 /> ..... </appSettings>
一、读取配置文件:

string name = ConfigurationManager.AppSettings["NAME"].ToString();
int age = int.Parse(ConfigurationManager.AppSettings["AGE"]);
string name = ConfigurationManager.AppSettings["NAME"].ToString(); int age = int.Parse(ConfigurationManager.AppSettings["AGE"]);
配置文件App.config就在项目的根路径,可以随时手动修改内容,也可以在项目中用代码动态修改。

二、写入配置文件:

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["NAME"].Value = "YourName";
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings"); // 重新加载新的配置文件

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["NAME"].Value = "YourName";
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings"); // 重新加载新的配置文件
---------------------
作者:霍莉雪特
来源:CSDN
原文:https://blog.csdn.net/qq_18995513/article/details/55509783
版权声明:本文为博主原创文章,转载请附上博文链接!


重要参考:

http://stackoverflow.com/questions/4216809/configurationmanager-doesnt-save-settings

坑点:无法写入/保存配置文件?

在写入配置文件后,可以看到bin/Debug/YourProjectName.exe.config已经被修改了,但是关闭调试再运行一次时,会发现配置文件又被还原了,即之前的修改无效?!
原因在上面的参考链接中有提及:

 


就是说,代码中写入配置文件并运行Debug时,bin/Debug/YourProjectName.exe.config已经被修改。但是当你再运行一次Dubug时,这个bin/Debug/YourProjectName.exe.config的内容是从源码中获取的,因为源码中的App.config并没有被修改,所以bin/Debug/YourProjectName.exe.config又被覆盖为原来的数据。
即是说,按照之前的写入配置文件的代码是好用的,如果想测试这个写入配置文件的功能,可以运行bin/Debug/YourProjectName.exe来测试,而不是再VS中按F5运行源码来测试!


---------------------
作者:霍莉雪特
来源:CSDN
原文:https://blog.csdn.net/qq_18995513/article/details/55509783
版权声明:本文为博主原创文章,转载请附上博文链接!

posted on 2018-11-02 01:15  boood  阅读(1493)  评论(0)    收藏  举报

导航