2010-04-11 14 views
8

Czy istnieje sposób na znalezienie nazwy (i ścieżki) pliku konfiguracyjnego bieżącej aplikacji z biblioteki klas?Znajdź nazwę bieżącego pliku konfiguracyjnego

E.g. w aplikacji internetowej będzie to web.config, w aplikacji lub usłudze Windows będzie to myapp.exe.config.

Odpowiedz

15

Spróbuj tego:

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 

Jeśli to nie zadziała, należy dodać referencje do system.Web i System.Configuration, a następnie spróbuj tego:

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

Dzięki. Po pierwszym teście pierwsze podejście wydaje się działać w przypadku usług Windows i aplikacji internetowych. – M4N

+0

Nigdy nie akceptuję odpowiedzi natychmiast (ale zrobię to), np. aby móc zweryfikować rozwiązanie i dać innym szansę odpowiedzi. – M4N

0

Korzystając Configuration.FilePath:

Pobiera fizyczną ścieżkę do pliku konfiguracyjnego reprezentowanego przez ten obiekt Configuration.

+0

Tak, ale musisz najpierw mieć element "Konfiguracja" ... niestety nie ma "Configuration.CurrentElement" ani nic podobnego ... –

+0

Jak mogę dostać się do instancji konfiguracji? – M4N

Powiązane problemy