2010-04-11 16 views
8

Gibt es eine Möglichkeit, den Namen (und den Pfad) der Konfigurationsdatei der aktuellen Anwendung in einer Klassenbibliothek zu finden?Den Namen der aktuellen Konfigurationsdatei finden

z. in einer Web-App wäre dies web.config, in einer Windows-App oder einem Dienst wäre dies myapp.exe.config.

Antwort

15

Try this:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 

Wenn das nicht funktioniert, fügen Sie Verweise auf System.Web und System.Configuration, dann versuchen Sie dies:

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

Danke. Nach einem ersten Test scheint der erste Ansatz für Windows-Dienste und Web-Apps zu funktionieren. – M4N

+0

Ich akzeptiere keine Antworten sofort (aber ich werde tun), z. in der Lage sein, die Lösung zu verifizieren und anderen die Chance zu geben, zu antworten. – M4N

0

Verwendung Configuration.FilePath:

Ruft den physischen Pfad zu der Konfigurationsdatei ab, die von diesem Configuration-Objekt dargestellt wird.

+0

Ja, aber dann müssen Sie zuerst ein "Konfiguration" -Element haben ... leider gibt es kein "Configuration.CurrentElement" oder etwas ähnliches ... –

+0

Wie würde ich zu einer Instanz der Konfiguration gelangen? – M4N

Verwandte Themen