Al acceder appsettings de la aplicación actual, aparece un NameValueCollection:.net AppSettings archivo de configuración: NameValueCollection vs KeyValueConfigurationCollection
NameValueCollection settings =
ConfigurationManager.AppSettings;
Al acceder appsettings de otra aplicación, aparece un KeyValueConfigurationCollection:
KeyValueConfigurationCollection settings =
ConfigurationManager.OpenExeConfiguration(sExe).AppSettings.Settings;
¿Hay alguna razón para que estos dos métodos (ConfigurationManager.AppSettings y AppSettingsSection.Settings) tienen tipos de devolución similares pero diferentes (e incompatibles)? ¿Tal vez estoy usando un método obsoleto en uno de los dos casos?
¿Hay una forma fácil de obtener el mismo tipo en ambos casos, es decir, para obtener NameValueCollection para appSettings de otra aplicación o KeyValueConfigurationCollection para appSettings de la aplicación actualmente en ejecución?
actualización: Para la pregunta 2, he encontrado la siguiente manera de conseguir la configuración de la actualmente en ejecución aplicación (no web) como KeyValueConfigurationCollection:
KeyValueConfigurationCollection settings =
Configuration.ConfigurationManager.OpenExeConfiguration(Configuration.ConfigurationUserLevel.None).AppSettings.Settings;
Sé que esta es una pregunta antigua, pero la respuesta sugerida (la Actualización) en el OP no funciona en una aplicación _web_: ~ ( –
@ Pure.Krome: Buen punto, gracias. He actualizado mi respuesta -inside-the-question. Desafortunadamente, no sé una solución para aplicaciones web. – Heinzi
agregaré uno más tarde :) Lo tengo cubierto ... –