文章类型: .NET
关键词: C#,.net,Config,配置文件,读写,无法写入,保存,配置文件,问题
内容摘要: 【C#】Config配置文件的读写,及无法写入/保存配置文件的问题

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

2018/8/20 11:08:16    来源:apple    阅读:

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

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

<appSettings>
    <add key="NAME" value="name" />
    <add key="AGE" value=10 />
    .....</appSettings>123456

一、读取配置文件:

string name = ConfigurationManager.AppSettings["NAME"].ToString();int age = int.Parse(ConfigurationManager.AppSettings["AGE"]);12

配置文件App.config就在项目的根路径,可以随时手动修改内容,也可以在项目中用代码动态修改。

二、写入配置文件:

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

重要参考:

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

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

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

原因在上面的参考链接中有提及:

图片.png

就是说,代码中写入配置文件并运行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运行源码来测试!


↑ 上一篇文章:C# 读写App.config配置文件的方法 关键词:C#,读写,App.config,配置文件,方法 发布日期:2018/8/20 9:56:39
↓ 下一篇文章:Sql Server,存储过程,函数,单引号,表示 关键词:Sql,Server的存储过程或函数中单引号的表示 发布日期:2018/8/22 16:25:19
相关文章:
读写App.config配置文件的方法 关键词:C#,.NET,.net,读写,App.config,配置文件,方法 发布日期:2015-07-29 14:07
C# 读写App.config配置文件的方法 关键词:C#,读写,App.config,配置文件,方法 发布日期:2018-08-20 09:56
ASP.NET中的分页剖析(一) 关键词:C#,ASPX,ASP,.NET中,分页 发布日期:2015-07-29 12:19
相关目录:.NET
我要评论
正在加载评论信息......