2010-04-11 15 views
8

¿Hay alguna forma de encontrar el nombre (y la ruta) del archivo de configuración de la aplicación actual desde el interior de una biblioteca de clases?Encontrar el nombre del archivo de configuración actual

E.g. en una aplicación web esto sería web.config, en una aplicación o servicio de Windows esto sería myapp.exe.config.

Respuesta

15

Prueba esto:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 

Si eso no funciona, agregar referencias a System.Web y System.Configuration, a continuación, intente esto:

if(HttpRuntime.AppDomainAppVirtualPath == null) 
    return ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath; 
else 
    return VirtualPathUtility.ToAbsolute("~/Web.config"); 
+0

Gracias. Después de una primera prueba, el primer enfoque parece funcionar para servicios de Windows y aplicaciones web. – M4N

+0

Nunca acepto respuestas inmediatamente (pero lo haré), p. para poder verificar la solución y dar a otros la oportunidad de responder. – M4N

0

Uso Configuration.FilePath:

Obtiene la ruta de acceso física al archivo de configuración representado por este objeto de configuración.

+0

Sí, pero primero debe tener un elemento de "Configuración" ... desafortunadamente no hay "Configuration.CurrentElement" o algo así ... –

+0

¿Cómo llegaré a una instancia de Configuración? – M4N

Cuestiones relacionadas