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 文件,因此您可以使用LINQ to XML解析它们。这将允许您轻松读取应用程序配置文件并从中获取您选择的任何信息。

于 2012-12-06T22:29:29.307 回答