修改配置文件

  我们知道,配置文件(App.config)可以通过ConfigurationManager类读取,但是如何进行动态设置和保存呢?方法很多,这里介绍一种简单的方法:

  现在假定我有一个控制台项目,具体结构如下:

  这个App.config中内容如下:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <appSettings>

    <add key="Name1" value="Value1" />

  </appSettings>

</configuration>

  现在把Name1对应的数值改为Value2。无法通过ConfigurationManager完成,怎么办呢?

  解决方法是:

  1)使用OpenMappedExeConfiguration进行读取——这个方法专门用于获取配置文件(App.config结构的),并且可以修改:

ExeConfigurationFileMap map = new ExeConfigurationFileMap();

            map.ExeConfigFilename="..\\..\\App.config";

            Configuration c = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);

            c.AppSettings.Settings["Name1"].Value = "Value2";

            c.Save();

  2)使用OpenExeConfiguration法读取——这个方法和上面唯一的区别在于命名必须是(Exe文件名称.exe.config),这个文件应该随着程序发布而自己发布的,不是修改原来位于项目中的那个配置文件。

修改配置文件

  相关代码:

Configuration c = ConfigurationManager.OpenExeConfiguration("Csharp.exe");

            c.AppSettings.Settings["Name1"].Value = "Value2";

            c.Save();

  注意:第二个方法不允许添加后缀config——因为默认会自动添加的!

你可能感兴趣的:(配置文件)