如何编辑链接的app.config并保存所有exe配置中的更改

时间:2016-07-19 06:22:05

标签: c# winforms app-config

我正在开发winform c#应用程序,在所有项目中都链接了单个app.config。 我正在尝试创建一个项目,它可以编辑和更新app.config中的连接字符串。但是目前我只能改变特定项目的exe.config。 如何在特定解决方案中更改所有exe.config? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

遍历应用程序文件夹中的所有exe.config文件并使用XmlDocument;我正在更改所有连接字符串并再次保存。

  string curAssembly = Assembly.GetExecutingAssembly().Location;
            string FolderPath = Path.GetDirectoryName(curAssembly);
            string[] files = Directory.GetFiles(FolderPath).Where(x => x.EndsWith(".config")).ToArray();
            foreach (string item in files)
            {
                XmlDocument XmlDoc = new XmlDocument();
                XmlDoc.Load(item);
                foreach (XmlElement xElement in XmlDoc.DocumentElement)
                {
                    if (xElement.Name == "connectionStrings")
                    {
                        foreach (XmlElement xChild in xElement)
                        {
                            if (xChild.Attributes.Count > 1 && xChild.Attributes[0].Value == ConfigSectionName)
                            {
                                xChild.Attributes[1].Value = "Data Source=" + cmbDatasource.Text + ";Initial Catalog=" + cmbDatabaseName.Text + ";UID=" + txtUserName.Text + ";password=" + txtPassword.Text + ";Integrated Security = false;";
                                Connectionstring = xChild.Attributes[1].Value;
                            }
                        }
                    }
                }
                XmlDoc.Save(item);
            }