2013-07-26 4 views
7

.NET의 ConfigurationManager를 다른 시나리오로 연습하여 이해하려고합니다.On .NET의 ConfigurationManager 이해

Project1과 Project2의 두 가지 프로젝트가 있습니다. Project2는 Project1을 사용합니다.

내 상황 : project1의 app.config 파일에 섹션 (serializedfilename)이 있습니다. 과 내가 프로젝트 2에서 프로젝트 1

private static string SerializedConfiguration = ConfigurationManager.AppSettings["SerializedFilename"]; 

의 Class1의 코드의 라인을 가지고, 내가 프로젝트 1의 클래스 1의 메서드를 호출하고 난 예외를 받고 있어요.

같은 .NET doesnt는 project1의 app.config 파일에서 project2를 호출 할 때 설정을 찾을 수있는 것처럼 보이지만 project1을 적절하게 참조했습니다. 내가 프로젝트 2의 파일을 ...의 app.config하기 (serializedfilename를) 섹션을 이동할 때

그러나, 모든

사람이 여기에 무슨 일이 일어나고 있는지 나에게 설명 할 수 ... 잘 작동하는 것 같다? 나는 ConfigurationManager가 원래 응용 프로그램 (이 경우 project1)이 아닌 클라이언트 응용 프로그램 (이 경우 project2)의 컨텍스트에만 있다고 가정하고 싶습니다.

참고 : 새로운 기능입니다. (1 개월 + .NET)

감사합니다.

답변

3

참조 app를 추가하면 구성이 복사되지 않습니다. App.config는 프로젝트 2에서 기본 프로젝트에 있어야합니다. 프로젝트 2에 프로젝트를 추가하고 프로젝트 1에서 참조 된 개체를 호출하면 VS가 기본 프로젝트에서 선택하므로 오류가 발생하지 않습니다.

+0

감사합니다. – oliverdejohnson

1

올바른지, ConfigurationManager는 실행중인 어셈블리에서 app.config 또는 web.config가 설정을 조회하는지 찾습니다.

구성 설정에 액세스하는 클래스 라이브러리 DLL이 웹 사이트 프로젝트에서 실행중인 경우 클래스 라이브러리의 app.config가 아닌 web.config에 앱 설정을 추가해야합니다.

+0

감사합니다. 그러나 문서가 어떻게 그렇게 말하지 않았는가 ... http : //msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx – oliverdejohnson