当访问应用程序的当前的appSettings,我得到的NameValueCollection:.NET配置文件的AppSettings:NameValueCollection中主场迎战KeyValueConfigurationCollection
NameValueCollection settings =
ConfigurationManager.AppSettings;
当访问另一个应用程序的的appSettings,我得到一个KeyValueConfigurationCollection:
KeyValueConfigurationCollection settings =
ConfigurationManager.OpenExeConfiguration(sExe).AppSettings.Settings;
请问这两种方法的原因是什么(ConfigurationManager.AppSettings和AppSettingsSection.Settings)具有相似但不同(和不兼容)的返回类型?也许我在两种情况之一中使用了过时的方法?
在这两种情况下是否有一种简单的方法获得相同类型,即为当前运行的应用程序的appSettings获取另一个应用程序的appSettings或KeyValueConfigurationCollection的NameValueCollection?
更新:对于问题2,我发现下面的方式来获得的配置当前运行(非Web)应用程序作为KeyValueConfigurationCollection:
KeyValueConfigurationCollection settings =
Configuration.ConfigurationManager.OpenExeConfiguration(Configuration.ConfigurationUserLevel.None).AppSettings.Settings;
我知道这是一个老问题,但OP中的建议答案(更新)不适用于_web_应用程序:〜( – 2015-04-22 09:18:42
@ Pure.Krome:好点,谢谢。我更新了我的答案-Iside-the-question。不幸的是,我不知道一个解决方案的web应用程序。 – Heinzi 2015-04-22 10:07:52