2009-11-26 2 views
2

저는 설정 파일을 인수로 사용할 수있는 Windows (웹이 아님) NET 1.1 응용 프로그램을 가지고 있습니다. 이 방법을 사용하면 다른 설정 파일을 전달하여 다른 연결 문자열간에 쉽게 전환 할 수 있습니다.NET 2.0 : 설정 파일 이름을 설정할 수 있습니까?

.NET 2.0 설정 관리자가 더 간단 해 졌음을 알고 있습니다. 디자인 타임에 정의 할 수 있으며 디자인/런타임에 해당 속성에 쉽게 액세스 할 수 있습니다. 그러나 이것은 상황에 따라 하나 또는 다른 설정 파일을 전달할 수있는 유연성을 가질 기회가없는 특별한 설정 파일을 항상 사용하도록 부추 깁니다.

지금은 (기본 디렉토리의 app.config 파일) 자체를 초기화하는 Settings 클래스를 가질 수 있지만 읽기/쓰기 작업을 위해 다른 파일로 리디렉션 될 수 있습니다. :

My.Settings.Use(*FileNameWithFullPathAndExtensions*) 

제 질문은 이렇습니다. 이와 같은 방법이 있습니까? 사람에게 사전에

감사는이 응용 프로그램의 app.config 파일 인 것처럼 당신은 another.app.config 파일을 가져올 AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\another.app.config");을 사용할 수 있습니다

답변

1

도움이 될 것입니다. 궁금해하는 경우를 대비하여 일반적인 web.config 파일에서도 작동합니다.

그런 다음 System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString 문자열을 기본 app.config 파일에서 가져 오는 것처럼 사용할 수 있습니다.

이미 기본 파일을 읽은 후에 설정 파일을 변경해야하는 경우 ConfigurationManager.RefreshSection(), here are a few examples을 사용하여 새 구성 파일에서 읽을 섹션을 새로 고쳐야 할 수 있습니다.

+0

먼저 답장을 보내 주셔서 감사합니다. 그런 다음, 귀하의 회신을 올바르게 이해한다면이 방법을 사용하여 다른 파일의 구성을 읽을 수는 있지만 작성할 수는 없습니다. –

+0

수정해야하는 경우 ConfigurationManager.OpenExeConfiguration()을 살펴보면 수정 및 저장할 수있는 Configuration 개체가 반환됩니다. http://msdn.microsoft.com/en-us/library/ms224437.aspx –

+0

configurationmanager로 약간의 작업을 수행 한 후에는 내가 찾고있는 것을 수행 할 수없는 것 같습니다. 두 번째 파일은 첫 번째 것을 덮어 쓰지 않으려면 확장하십시오. 클래스에 FileName 속성이 없다는 것이 너무 나쁘다 ... 어쨌든, 답장을 보내 주셔서 감사합니다. –

관련 문제