除修改XML文件外,如何修改项目目录下的App.Config文件?
修改项目目录下App.Config的解决方案
默认ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)会指向程序运行目录(比如Debug文件夹)的配置文件,要修改项目根目录下的原始App.Config,可以通过映射配置文件路径的方式实现,无需直接操作XML:
- 步骤1:创建配置文件映射对象,指定项目目录下App.Config的绝对路径
- 步骤2:通过映射对象打开目标配置文件
- 步骤3:执行修改操作后保存
示例代码
// 获取项目根目录下App.Config的路径(可根据项目结构调整路径逻辑) string projectConfigPath = Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName, "App.Config"); // 创建配置文件映射 ExeConfigurationFileMap configMap = new ExeConfigurationFileMap(); configMap.ExeConfigFilename = projectConfigPath; // 打开映射的配置文件 Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None); // 执行修改操作 config.AppSettings.Settings.Remove(nodeName); config.AppSettings.Settings.Add(nodeName, value); // 保存修改 config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings");
说明
- 路径获取逻辑:示例中通过多层
Directory.GetParent定位项目根目录,实际可根据你的项目结构调整,不建议直接写死绝对路径,优先动态获取 - 该方法依托Configuration API完成操作,和修改运行时配置的逻辑一致,仅通过映射指定了目标文件路径
内容的提问来源于stack exchange,提问作者Daeo Cherry
相关产品推荐
相关产品推荐

