2010-04-11 5 views
8

클래스 라이브러리 내부에서 현재 응용 프로그램의 구성 파일의 이름과 경로를 찾는 방법이 있습니까?현재 구성 파일의 이름 찾기

예. 웹 응용 프로그램에서는 web.config, Windows 응용 프로그램 또는 서비스에서는 myapp.exe.config이됩니다.

답변

15

이 시도 :

AppDomain.CurrentDomain.SetupInformation.ConfigurationFile 

을 즉, 작업 System.Web 및 System.Configuration에 대한 참조를 추가하지 않을 경우,이 시도 :

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

감사합니다. 첫 번째 테스트 후 첫 번째 접근 방식은 Windows 서비스 및 웹 응용 프로그램에서 작동하는 것으로 보입니다. – M4N

+0

나는 대답을 즉시 받아 들일 수 없다. 해결책을 검증하고 다른 사람들에게 대답 할 기회를 주어야합니다. – M4N

0

사용 Configuration.FilePath을 :

이 Configuration 개체가 나타내는 구성 파일의 실제 경로를 가져옵니다.

+0

그래,하지만 먼저 "Configuration"요소가 있어야합니다 ... 불행히도 "Configuration.CurrentElement"또는 그와 비슷한 것이 없습니다 ... –

+0

Configuration 인스턴스는 어떻게 만듭니 까? – M4N