2011-07-27 3 views
1

제 질문은 구성 파일 또는 dll.config 클래스 라이브러리 프로젝트 (dll)에 대한 것입니다. 구성 파일의 변경 사항이 적용되도록 dll을 컴파일해야합니까?VB.NET 클래스 라이브러리 dll.config 파일

내가 봤던 문제는 다른 솔루션에 대한 참조를 내 dll에 추가하고 구성 파일에서 업데이트 했음에도 불구하고 테스트 데이터베이스를 가리키는 연결 문자열이 여전히 있다는 것입니다.

컴파일해야 할 경우 구성 파일을 가져야하는 이유는 무엇입니까?

답변

1

DLL (클래스 라이브러리)은 구성 파일을 사용하지 않습니다. 응용 프로그램의 구성 파일을 통해 구성 데이터를 설정해야합니다.

정말로 원하는 경우 클래스 라이브러리에서 설정 파일을 사용할 수는 있지만 클래스 라이브러리 IMO의 목적에 위배되는 것은 아닙니다.

+0

내 디버그 폴더에 DocDb2Model.dll 및 DocDb2Model.dll.config가 있습니다. .config 파일은 프로젝트 설정에서 추가 한 설정으로 만든 VS입니다. 문제는 .config 파일에서 변경 사항을 적용 할 때 영향을 미치지 않는 것입니다. – user842818

+0

동의합니다. 가장 좋은 방법은 .exe를 구성 파일을 읽고 필요한 매개 변수 (예 : 연결 문자열, 폴더 경로 등)를 메서드 매개 변수로 dll에 전달하는 것이 좋습니다. – ChrisNel52

+0

이상한 점이 있습니다 - 설정 파일이 왜 있는지 모르겠습니다. 클래스 라이브러리는 직접 추가하지 않으면 IME와 함께 제공되지 않습니다. config 파일이 있어도 DLL에 의해 사용되지는 않습니다. – Tim

1

아니요, 구성 변경 사항이 적용 되려면 dll을 컴파일 할 필요가 없습니다.

dll 파일이 구성 파일 (app.config 또는 web.config)에서 읽는 경우이를 참조하는 실행 파일의 구성 파일을 읽는 것보다.

+0

Chris가 언급했듯이, DLL이이를 참조하는 응용 프로그램의 구성 파일에서 읽는 중입니다. .NET DLL은 자체 구성 파일에서 읽지 않습니다. –

+0

Visual Studio에서 DLL 구성 파일을 감지하여 응용 프로그램의 구성 파일에 포함시킵니다. –

3

DLL의 App.config 파일에서 config 요소를 DLL을 참조하는 응용 프로그램의 구성 파일로 복사해야합니다. 웹 애플리케이션에서 DLL을 참조하는 경우 요소를 web.config에 복사해야합니다. WinApp에서 참조하는 경우 WinApp에 구성 파일이 있는지 확인하고 요소를 해당 파일에 복사해야합니다.