実行時にデフォルトのapp.configを変更する
次の問題があります: モジュールをロードする(アドオン)アプリケーションがあります。これらのモジュールでは、app.configにエントリが必要な場合があります(WCF構成など)。モジュールは動的に読み込まれるため、アプリケーションのapp.configファイルにこれらのエントリを含めたくありません。 私がしたいことは次のとおりです: モジュールの構成セクションを組み込んだ新しいapp.configをメモリに作成します アプリケーションにその新しいapp.configを使用するように伝えます 注:デフォルトのapp.configを上書きしたくない! たとえばConfigurationManager.AppSettings、新しいファイルを使用できるように、透過的に機能する必要があります。 この問題の評価中に、私はここで提供されているものと同じソリューションを思いつきました:nunitでapp.configをリロードします。 残念ながら、私はまだ通常のapp.configからデータを取得しているため、何も実行しないようです。 私はそれをテストするためにこのコードを使用しました: Console.WriteLine(ConfigurationManager.AppSettings["SettingA"]); Console.WriteLine(Settings.Default.Setting); var combinedConfig = string.Format(CONFIG2, CONFIG); var tempFileName = Path.GetTempFileName(); using (var writer = new StreamWriter(tempFileName)) { writer.Write(combinedConfig); } using(AppConfig.Change(tempFileName)) { Console.WriteLine(ConfigurationManager.AppSettings["SettingA"]); Console.WriteLine(Settings.Default.Setting); } 同じ値を2回出力しcombinedConfigますが、通常のapp.config 以外の値が含まれています。