ExeConfigurationFileMap 这个类提供了修改、获取指定 config 的功能;
新建一个 ExeConfigurationFileMap 的实例 ecf ;
并设置 ExeConfigFilename 属性为要操作的 config 文件路径;
使用 ConfigurationManager.OpenMappedExeConfiguration 方法得到操对象 Configuration config
调用 Configuration 对象实例提供的 config.AppSettings.Settings[key].Value 可以修改或者获取 appsetting 的值了;
如果修改需要调用一下保存方法,config.Save();
/// <summary> /// 获取自定义 index.config 文件中的 appsetting 节点值 /// </summary> /// <param name="key">节点名称</param> /// <returns></returns> public static string GetIndexConfigValue(string key) { string indexConfigPath = @"D:indexConfig"; ExeConfigurationFileMap ecf = new ExeConfigurationFileMap(); ecf.ExeConfigFilename = indexConfigPath; Configuration config = ConfigurationManager.OpenMappedExeConfiguration(ecf, ConfigurationUserLevel.None); return config.AppSettings.Settings[key].Value; } /// <summary> /// 设置自定义 index.config 文件中的 appsetting 节点值 /// </summary> /// <param name="key">节点名称</param> /// <returns></returns> public static bool SetIndexConfigValue(string key, string value) { string indexConfigPath = @"D:indexConfig"; ExeConfigurationFileMap ecf = new ExeConfigurationFileMap(); ecf.ExeConfigFilename = indexConfigPath; Configuration config = ConfigurationManager.OpenMappedExeConfiguration(ecf, ConfigurationUserLevel.None); config.AppSettings.Settings[key].Value = value; config.Save(); return true; }