ユーザー用にアプリケーション構成ファイル編集するツールを作る場合、System.Xml 名前空間のクラスを使うより、System.Configuration 名前空間のクラスを使う方が楽です。
アプリケーション構成ファイルは、セクションを別ファイルに記述することが出来ます。
System.Xml や System.IO あたりを使ってゴリゴリやるのは大変。だって、どこにファイルがあるか調べないといけないですから。
その点、System.Configuration 名前空間のクラスを使えば、別ファイルの内容を勝手に読み込んで、勝手に書き変えてくれます。ファイルが分かれているかどうか意識する必要がありません。これはウレシイ。
string exePath = "アプリケーションのパス"; Configuration config = ConfigurationManager .OpenExeConfiguration(exePath); // 試しに接続文字列を追加してみる var builder = new SqlConnectionStringBuilder(); builder.DataSource = "local"; builder.InitialCatalog = "master"; builder.IntegratedSecurity = true; var cs = new ConnectionStringSettings(); cs.Name = "Sample"; cs.ConnectionString = builder.ToString(); config.ConnectionStrings .ConnectionStrings.Add(cs); config.Save();
ちなみに、ConnectionStrings 以外のセクションもちゃんと編集できます。