2011-01-12 3 views
4

라이브러리를 컴파일하면 Settings.Settings의 모든 설정이 DLL에 통합됩니다. 어떻게 방지합니까?app.config가 .net 라이브러리 (dll)에 통합되지 않게하는 방법

+0

달성하려는 목표는 무엇입니까? * default * 값은 DLL에 통합되지만 런타임에 구성 시스템은 먼저 수정 된 값에 대해 exename.config 파일 (또는 사용자 설정 경로)을 검사합니다. dll에 기본값을 통합하지 않으면 서 원하는 결과가 있습니까? –

+0

내 목표는 컴파일 및 배포 후에 app.config를 수정하여 설정을 변경할 수있게하는 것입니다. app.config가 없으므로 같은 폴더에있는 .exe에 가장 가까운 app.config를 사용하고 있다고 가정합니다. 두 개의 app.config 파일을 사용하는 방법이 있습니까? 그렇지 않으면 settings.settings 사용을 중단해야합니까? –

답변

3

Settings.settings 파일의 속성을보고 Build Action을 Resource로 설정하고 Copy to Output Directory에 복사하십시오.

이것은 건물 외의 설정을 편집 할 수있는 dll.config 파일을 만들어야합니다.

+0

감사합니다. 내 응용 프로그램이 DLL을 사용할 때 DLL은 dll.config에있는 설정을 사용합니까? –

+0

설정 파일을 컴파일하면 VS에서 열 수있는 Designer.cs 코드 파일이 만들어지고 xml 구성 파일에서 값을 검색합니다. VS는 이것을 동기화하고 직렬화를 처리해야합니다. – delimited

+0

@Eli - 아니요. 모든 설정을 응용 프로그램의 app.config로 이동해야합니다. 설정은 라이브러리가 아닌 응용 프로그램별로 설정됩니다. 사람들은 종종'System.Configuration'의 약점 때문에 자신의 설정을 작성합니다. –

0

Settings.Settings에 나열된 설정이 없습니다. 당신이 dll에서 그들을 밖으로 배송되고 싶지 않다면, 그들을 가지고 있지 않습니다. 당신이 그들을 가지고 있다면, 당신은 무언가를 위해 그들을 필요로해야합니다.

0

값을 표시하지 않으려면 배포 값 (비어 있음, 0 등)이있는 app.config가 있어야합니다. 값은 DLL에 기본값으로 컴파일됩니다.

관련 문제