C#----操作应用程序配置文件App.config

对配置文件的一些疑问:

     在应用程序的目录下,有两处值得注意的地方,一个是应用程序根目录下的App.config文件,和bin\debug\name.exe.config 或者 bin\Release\name.exe.config下的配置文件。

所谓操作的配置文件是其中的哪个呢?bin\debug中的配置文件是在程序在编译环境中运行时从App.config得到的?


第一种方法

引入System.Configuration.dll,空间System.Configuration

应用程序中执行代码:

1             try
2             {
3                 showData.Text = System.Configuration.ConfigurationSettings.AppSettings["ConnenctionString"];//读取文件中的节点
4             }
5             catch (Exception eee)
6             { }

App.config添加一些数据:

1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3     <startup>
4         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
5     </startup>
6     <appSettings>
7        <add key="ConnenctionString" value="111"/>
8     </appSettings>
9 </configuration>

其中add节点中严格格式写入!!

在开发环境中调试运行,改变name.exe.config中的数据。和App.config一样。

向name.exe.config文件中配置:

1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3     <startup>
4         <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
5     </startup>
6     <appSettings>
7      <add key="ConnenctionString" value="111"/>
8     </appSettings>
9 </configuration>

会读取到键名为ConnenctionString的对应的值111.

发现:App.config文件中的节被程序读取到时,会把App.config中的数据保存到name.exe.config;如果没有读取到不会保存到name.exe.config中。在name.exe.config中的修改不会变化到App.config中。


ps1:在VS2005中没有默认的配置文件 ,添加方法有手工和设置。

       手工:添加App.Config文件,按格式写配置内容

      设置项目:如下图


 ps2: 在环境VS2005,Windows XP SQLServer2005 Express中。

  配置文件中如下:

 1 <add key="ConnenctionString" value="Data Source=.\SQLEXPRESS;Initial Catalog=zsefg;Integrated Security=True"/> 

  能得到正常的连接。但是Data Sourve=.\\SQLEXPRESS时会出现连接异常

 操作配置文件

 

1                 Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
2                 cfa.AppSettings.Settings["ips"].Value = ipSelectFrm.ips;
3                 cfa.AppSettings.Settings["port"].Value = ipSelectFrm.port.ToString();
4                 cfa.Save();

  Configuration类,完成对配置文件的操作。以上是写入操作,操作的目标如下:

1   <appSettings>
2     <add key="ips" value="192.168.0.100" />
3     <add key="port" value="808" />
4   </appSettings>

  读取类似。读取如下:

1             Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
2             this.ips = cfa.AppSettings.Settings["ips"].Value;
3             this.port = Convert.ToInt16(cfa.AppSettings.Settings["port"].Value);

 

posted @ 2013-11-27 00:00  deeeeeed  阅读(553)  评论(0编辑  收藏  举报

pppppppppppppp