2

現在のアプリケーションの app.config から AppSettings セクションを読み取るのは簡単です。読み取り可能な一連の名前と値のペアを返す ConfigurationManager.AppSettings を使用するだけです。

しかし、別のアプリケーションの構成ファイルからエントリにアクセスしたい場合はどうすればよいでしょうか?

ConfigurationManager には OpenExeConfiguration のような他のメソッドがあることがわかりますが、これらのメソッドを最後までたどると、AppSetting (またはそのセクション) を一連の名前/値のペアとして反復処理する方法がわかりません。 ConfigurationManager.AppSettings で利用可能です。

個別の exe の構成ファイルを読み取って、簡単に繰り返すことは可能ですか (個々のキーによるアクセスだけではありません)。

4

2 に答える 2

1

これを行うにはおそらくもっとクリーンな方法がありますが、これは機能します(特定の値を取得することと、反復できるように辞書を作成することの両方を示しています)。

    private string collection;
    Dictionary<string, string> settings = new Dictionary<string, string>();
    // using System.Configuration;
    private void LoadOthersConfig(string exepath)
    {
        Configuration config = ConfigurationManager.OpenExeConfiguration(exepath);
        if (config.Sections["appSettings"] != null)
        {
            AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");

            collection = appSettings.Settings["collection"].Value;

            foreach (string k in appSettings.Settings.AllKeys)
            {
                settings.Add(k, appSettings.Settings[k].Value);
            }
        }
    }
于 2013-03-12T23:07:28.043 に答える
0

アプリケーション構成ファイルはXMLファイルであるため、 LINQtoXMLを使用してそれらを解析できます。これにより、アプリケーション構成ファイルを簡単に読み取り、そこから選択した情報を取得できます。

于 2012-12-06T22:29:29.307 に答える