代码改变世界

修改App.config中的appSettings

    阅读(702)  评论(0编辑  收藏  举报

环境:.net 3.5(.net 2.0应该也是可以的,没测过) 

前面记得加 

using System.Configuration; //需要添加System.Configuration.dll的引用

using System.Xml; 

复制代码
        /// <summary>
        
/// 修改配置文件(appSettings)
        
/// </summary>
        
/// <param name="key"></param>
        
/// <param name="value"></param>
        private static void ModifyAppSettings(string key, string value)
        {
           
//--修改RunTime(内存)中的App.config
           
// Open App.Config of executable
           System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
           
// Add an Application Setting.
           config.AppSettings.Settings.Remove(key);
           config.AppSettings.Settings.Add(key, value);
           
// Save the configuration file.
           config.Save(ConfigurationSaveMode.Modified);
           
// Force a reload of a changed section.
           ConfigurationManager.RefreshSection("appSettings");

            
//--修改App.config文件
            XmlDocument xDoc = new XmlDocument();
            
//获取可执行文件的路径和名称
            xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");

            XmlNode xNode;
            XmlElement xElem1;
            XmlElement xElem2;
            xNode = xDoc.SelectSingleNode("//appSettings");

            xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + key + "']");
            
if (xElem1 != null) xElem1.SetAttribute("value", value);
            
else
            {
                xElem2 = xDoc.CreateElement("add");
                xElem2.SetAttribute("key", key);
                xElem2.SetAttribute("value", value);
                xNode.AppendChild(xElem2);
            }
            xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config");
        }
复制代码

 

 

我的网站:手机号码归属地查询

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示