C# 读写App.config配置文件
一、C#项目中添加App.config配置文件
在控制台程序中,默认会有一个App.config配置文件,如果不小心删除掉,或者其他程序需要配置文件,可以通过添加得到。
添加步骤:右键项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”,默认的文件名称为“ App.config ”,单击“确定”。

二、配置文件格式
新建以后会得到一个App.config的文件,双击打开,默认如下面XML所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
可以对其添加节点,我们常用的是appSettings节点,appSettings里面在添加配置信息
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<appSettings>
<add key="MaxNum" value="10000"/>
</appSettings>
</configuration>
三、读写App.config配置文件
右键项目的"引用",选择"添加应用",点击弹窗的左上角"程序集",并在右边搜索框输入"System.Configuration",选择"System.Configuration"并确定。

在类中引用命名空间,using System.Configuration;
1.读取
string maxNumStr= ConfigurationManager.AppSettings["MaxNum"];
2.修改
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfa.AppSettings.Settings["MaxNum"].Value = '20000';
cfa.Save(ConfigurationSaveMode.Modified);
注:不管在Debug和实际运行中,其实修改的并不是App.config文件,而是修改的xxx.exe.config文件。程序在实际运行中不会使用App.config文件中的值,都是使用的xxx.exe.config文件。
四、.config和.exe.config和.vshost.exe.config后缀文件的区别
.vshost.exe.config是程序运行时的配置文本(属于临时文件)
.exe.config是程序运行后会复制到vshost.exe.config
.config是在编辑代码时候存在的文件,当右键项目"生成"的时候会在bin\Debug文件下生成.exe.config和.vshost.exe.config文件,后两个文件的内容都是从.config复制而来的
上述说的修改配置文件,其实指的是修改.exe.config文件,而不是.config文件。
在程序运行中,.vshost.exe.config和.config两个文件可以不要,但是.exe.config必须要,因为程序读写的都是这个文件。
五、配置文件中的连接字符串connectionStrings
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup> <connectionStrings>
<!--第一种数据库连接字符串-->
<add name="名称1" connectionString="Data Source=服务器名;Initial Catalog=数据库名;User ID=用户;Password=密码" providerName="System.Data.SqlClient" />
<!--第二种数据库连接字符串-->
<add name="名称2" connectionString="server=服务器名;database=数据库名; Ueer ID=用户;Password=密码" providerName="System.Data.SqlClient" />
</connectionStrings> <appSettings>
<add key="MaxNum" value="10000"/>
</appSettings>
</configuration>
使用connectionStrings的好处:
第一:可将连接字符串加密,使用MS的一个加密工具即可
第二:可直接绑定的数据源控件,而不必写代码读出来再赋值给控件
第三:可方便的更换数据库平台,如更换Oracle数据库,就需要修改providerName
获取connectionStrings节点中的值:
string connectStr = ConfigurationManager.ConnectionStrings["名称"];
C# 读写App.config配置文件的更多相关文章
- C#中动态读写App.config配置文件
转自:http://blog.csdn.net/taoyinzhou/article/details/1906996 app.config 修改后,如果使用cofnigurationManager立即 ...
- C# 读写App.config配置文件的方法
我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等.你可能知道在WinForm应用程序中可以利用Properties.Settings来进行类似的工作,但这些其实都利用了Ap ...
- 读写App.config配置文件的方法
我们经常会希望在程序中写入一些配置信息,例如版本号,以及数据库的连接字符串等.你可能知道在WinForm应用程序中可以利用Properties.Settings来进行类似的工作,但这些其实都利用了Ap ...
- WinForm读写App.config配置文件
一.配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的根节点是conf ...
- C# 读写App.config 配置文件
先要添加引用:System.Configuration //using System.Configuration; if (System.IO.File.Exists(AppDomain.Curren ...
- C# 读写App.config
Jul142013 [C#] 读写App.config配置文件的方法 作者:xieyc 发布:2013-07-14 17:29 字符数:3433 分类:编程 阅读: 39,139 次 ...
- 关于App.config配置文件
今天在做复习的时候,突然发现自己无法读取配置文件中的数据库连接字符串,而且检查了半天也没找出原因,最后求助万能的度娘才得以解决—— 1.App.config配置文件在项目中添加后不要修改名称,否则会出 ...
- C# 读App.config配置文件[1]:.Net Framework框架
C# 读App.config配置文件[1]:.Net Framework框架 C# 读App.config配置文件[2]: .Net Core框架 参考:https://www.cnblogs.com ...
- 【C#】【WPF】如何读写app.config文件
WPF生成的项目中会有.exe.config.一般是系统默认配置的 格式是xml格式,C#的项目可以直接读写这些文件.方法代码如下. public static string GetConnectio ...
随机推荐
- eclipse 带sts插件
https://pan.baidu.com/s/1c1M11ss 密码:ucjl
- 29.vector
对于List接口这里还介绍一个它的实现类Vector,Vector 类可以实现可增长的对象数组. Vector可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.不过,Vect ...
- Linux下使用openVPN连接到某个内网
推荐一个网站(比较全的介绍关于openvpn的客户端与服务端的配置) 点击我 此处我介绍我配置openvpn客户端连接的坑 我的机器为kali linux apt-get install openvp ...
- gogs 安装
docker 安装gogs 准备工作 安装一个mysql数据库,创建一个数据库 gogs,字符集为utf-8 查找gogs 镜像 docker search gogs 拉取镜像到本地 docker p ...
- 【java源码】解读HashTable类背后的实现细节
HashTable这个类实现了哈希表从key映射到value的数据结构形式.任何非null的对象都可以作为key或者value. 要在hashtable中存储和检索对象,作为key的对象必须实现has ...
- 【转载】关于.NET下开源及商业图像处理(PSD)组件
原创]关于.NET下开源及商业图像处理(PSD)组件 阅读目录 1 前言 2 .NET图像处理组件总结 3.相关资源网址 本博客所有文章分类的总目录:http://www.cnblo ...
- 用java开发dota英雄最华丽的技能
爱java 爱dota,突发奇想想用java开发dota操作最华丽的英雄之一的卡尔的技能,因为本人系小白,代码不足的地方还请包涵,有同样爱好的同学欢迎一起研究学习. 先把我的代码呈上 import ...
- Python面向对象2:类与对象的成员分析及self
# 3. 类和对象的成员分析- 类和对象都可以存储成员,成员可以归类所有,也可以归对象所有- 类存储成员时使用的是与类关联的一个对象- 独享存储成员是是存储在当前对象中- 对象访问一个成员时,如果对象 ...
- less编译工具——koala使用介绍
1:使用koala编译软件 官网:http://koala-app.com/index-zh.html (目前官网点击下载没有反应,有人说可能是网络问题,但真正的原因是需要FQ才能下载了) 百度 ...
- SpringMVC框架一:搭建测试
这里做一个Demo:展示商品列表 新建Dynamic Web Project: 导入jar包,放在lib下: 放入Lib文件夹之后,会自动build path 接下来配置web.xml: <?x ...