.net-файл конфигурации AppSettings: NameValueCollection против KeyValueConfigurationCollection

другого приложения. При доступе к appSettings текущего приложения, Я получаю NameValueCollection:

NameValueCollection settings =
    ConfigurationManager.AppSettings;

При доступе к appSettings другого приложения я получаю KeyValueConfigurationCollection:

KeyValueConfigurationCollection settings = 
    ConfigurationManager.OpenExeConfiguration(sExe).AppSettings.Settings;

  1. Есть причина, по которой эти два метода ( ConfigurationManager.AppSettings и AppSettingsSection.Settings ) имеют похожие, но разные (и несовместимые) типы возврата? Может быть, я использую устаревший метод в одном из двух случаев?

  2. Есть ли простой способ получить один и тот же тип в обоих случаях, то есть получить NameValueCollection для appSettings другого приложения или KeyValueConfigurationCollection для текущего запущенного приложения appSettings?


Обновление : для вопроса 2 я нашел следующий способ получить конфигурацию , запущенного в настоящее время (не веб-приложения), в виде KeyValueConfigurationCollection:

KeyValueConfigurationCollection settings = 
    Configuration.ConfigurationManager.OpenExeConfiguration(Configuration.ConfigurationUserLevel.None).AppSettings.Settings;

13
задан Heinzi 22 April 2015 в 10:07
поделиться