c# 修改exe.config文件并且及时更新


1.config文件地址:AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

 注意:如果是在调试程序中运行,此地址指代的是vhost.exe.config,需要使用Application.StartupPath + "/xxx.config"

2.修改代码:(根据xml文件打开,修改及保存)

XmlDocument doc = new XmlDocument();
            //获得配置文件的全路径  
            string strFileName = Application.StartupPath + "/xxx.config";
            doc.Load(strFileName);
            //找出名称为“add”的所有元素  
            XmlNodeList nodes = doc.GetElementsByTagName("add");
            XmlAttribute att;
            for (int i = 0; i < nodes.Count; i++)
            {
                //获得将当前元素的key属性  
                att = nodes[i].Attributes["name"];
                //根据元素的第一个属性来判断当前的元素是不是目标元素  
                if (att != null && att.Value == strKey)
                {
                    //对目标元素中的第二个属性赋值  
                    att = nodes[i].Attributes["connectionString"];
                    att.Value = ConnenctionString;
                    break;
                }
            }
            //保存上面的修改  
            doc.Save(strFileName);

 3.修改完毕之后,重启程序才生效。为了避免,让其立即生效:

FieldInfo fieldInfo = typeof(ConfigurationManager).GetField("s_initState", BindingFlags.NonPublic | BindingFlags.Static);
            if (fieldInfo != null) fieldInfo.SetValue(null, 0);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM