2016-07-19 6 views
0

私はすべてのプロジェクトで1つのapp.configがリンクされているwinform C#アプリケーションを開発中です。 私はapp.configの接続文字列を編集して更新できる1つのプロジェクトを作成しようとしています。しかし、現在私は特定のプロジェクトのexe.configだけを変更することができます。 特定のソリューションですべてのexe.configをどのように変更できますか? ありがとうございます。リンクされたapp.configを編集してすべてのexe設定の変更を保存する方法

答えて

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); 
      } 
関連する問題