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 ...
随机推荐
- poj 3159
差分约束 我也忘了谁说的了,反正我记得有人说过,只要是差分约束问题都可以转换成图 至少目前看来都是这样的 我一开始spfa+queue超时 看别人博客才知道要用spfa+stack,感觉智商又下降了一 ...
- java0618
1. java的基本数据类型,各占多少字节? byte 8位 short 16位 int 32位 long 64位 float 32位 double 64位 boolean 1位 char 16位 2 ...
- NodeJs在windows上安装配置测试
Node.js简介简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个 ...
- [转] kaldi中FST的可视化-以yesno为例
http://blog.csdn.net/u013677156/article/details/77893661 1.kaldi解码过程 kaldi识别解码一段语音的过程是:首先提取特征,然后过声学模 ...
- 一篇入门 -- Scala 反射
本篇文章主要让大家理解什么是Scala的反射, 以及反射的分类, 反射的一些术语概念和一些简单的反射例子. 什么是反射 我们知道, Scala是基于JVM的语言, Scala编译器会将Scala代码编 ...
- 谦先生-hadoop大数据运维纪实
1.NN宕掉切不过去先看zkfc的log引起原因是dfs.ha.fencing.ssh.private-key-files的配置路径配错造成以致无法找到公钥 2.dfs.namenode.shared ...
- Android JNI 学习(五):References Api
1. NewGlobalRef(创建全局引用) jobjectNewGlobalRef(JNIEnv *env, jobject obj); 创建 obj 参数所引用对象的新全局引用.obj 参数既可 ...
- C++ Opencv HoughLines()用霍夫变换在二元图像中寻线
一.霍夫变换简介 参考http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm 二.HoughLines()函数详解 该函数接受的输入矩阵只能是8位单通道的二 ...
- db2 报错 sqlcode=-420 自动类型转换的问题
今天在测试遇到一个问题,前台点击页面查询数据时报错: , SQLSTATE, SQLERRMC=DECFLOAT, DRIVER=4.18.60 根据sqlcode查询错误原因为:-420 22018 ...
- mfcc的特征提取python 代码实现和解析
#!/usr/bin/python # -*- coding: UTF-8 -*- import numpy import scipy.io.wavfile from matplotlib impor ...