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