首页 > 代码库 > 使用ConfigurationManager类读写配置文件

使用ConfigurationManager类读写配置文件

使用ConfigurationManager类 读写配置文件app.config,以下为代码:

view plaincopy to clipboard print?using System;   using System.Configuration;     static class Program       {           static void Main()           {               showConfig();               UpdateAppSettings();               showConfig();                 Console.ReadKey(true);           }             private static void showConfig()           {               string  = ConfigurationManager.AppSettings["Directory"];               Console.WriteLine("AppSetting配置节 Path key的value为:" + dir + "\n");           }             /// <summary>           /// UpdateAppSettings            /// </summary>           public static void UpdateAppSettings()           {               // Get the configuration file.                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);               Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");               config.AppSettings.Settings["Directory"].Value = http://www.mamicode.com/"tset";                 // Save the configuration file.                config.AppSettings.SectionInformation.ForceSave = true;               config.Save(ConfigurationSaveMode.Modified);               // Force a reload of the changed section.                ConfigurationManager.RefreshSection("appSettings");           }   using System;using System.Configuration;static class Program    {        static void Main()        {            showConfig();            UpdateAppSettings();            showConfig();            Console.ReadKey(true);        }        private static void showConfig()        {            string  = ConfigurationManager.AppSettings["Directory"];            Console.WriteLine("AppSetting配置节 Path key的value为:" + dir + "\n");        }        /// <summary>        /// UpdateAppSettings         /// </summary>        public static void UpdateAppSettings()        {            // Get the configuration file.             Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);            Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");            config.AppSettings.Settings["Directory"].Value = http://www.mamicode.com/"tset";            // Save the configuration file.             config.AppSettings.SectionInformation.ForceSave = true;            config.Save(ConfigurationSaveMode.Modified);            // Force a reload of the changed section.             ConfigurationManager.RefreshSection("appSettings");        } 

app.config内容:

view plaincopy to clipboardprint?<?xml version="1.0" encoding="utf-8" ?>  <configuration>    <appSettings>      <add key="Directory" value="C:\Documents and Settings"/>    </appSettings>  </configuration>  <?xml version="1.0" encoding="utf-8" ?><configuration>  <appSettings>    <add key="Directory" value="C:\Documents and Settings"/>  </appSettings></configuration>

代码结果:app.config只能作为初始化的定义,工程生成后运行程序集名称.exe 修改生成后的 程序集名称.exe.Config文件

一开始调试时看到控制结果是想要的结果,但看app.config配置文件内容没变(vs2008 F5调试模式下是修改 程序集名称.vshost.exe.config配置文件)还以为是代码有问题,网上搜,也有人碰过到此现像,原来是自己没有理解到MSDN的说明。(还是有文化差异啊)如:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);            Console.WriteLine("config.FIlePath: " + config.FilePath + "\n");

查看config.filePath值,即了解明白了。

4.0的类库: http://msdn.microsoft.com/en-us/library/ms134265(v=VS.100).aspx

注意:此类是.net2.0后新增。

必须要先在工程里添加system.configuration.dll程序集的引用。

(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,.net->组件名称->下即可找到)

添加引用后可以使用System.Configuration空间下的ConfigurationManager类.

 

引用资源:

Read/Write App.Config File with .NET 2.0

在程序里修改配置文件

C#读写app.config中的数据

使用ConfigurationManager类读写配置文件