访问当前应用程序的appSettings时,我会得到一个NameValueCollection:
NameValueCollection settings =
ConfigurationManager.AppSettings;
访问另一个应用程序的 appSettings 时,我会得到一个 KeyValueConfigurationCollection:
KeyValueConfigurationCollection settings =
ConfigurationManager.OpenExeConfiguration(sExe).AppSettings.Settings;
为什么这两种方法(ConfigurationManager.AppSettings 和 AppSettingsSection.Settings) 有类似但不同(且不兼容)的返回类型?也许我在其中一个情况下使用了过时的方法?
是否有一种简单的方法来获取相同类型的结果,即获取另一个应用程序的appSettings的NameValueCollection或当前运行应用程序的appSettings的KeyValueConfigurationCollection?
更新: 对于问题2,我已找到以下方法以将非web应用程序的配置作为KeyValueConfigurationCollection获取:
KeyValueConfigurationCollection settings =
Configuration.ConfigurationManager.OpenExeConfiguration(Configuration.ConfigurationUserLevel.None).AppSettings.Settings;