두 개의 프로젝트가 있습니다. 하나는 클래스 라이브러리 (.dll 어셈블리)이고 다른 하나는 클래스 라이브러리를 사용하는 GUI (.exe)입니다.클래스 라이브러리에서 여러 .settings 클래스를 사용하는 방법?
클래스 라이브러리에서 모든 "응용 프로그램"설정을 사용하여 두 개의 .settings 파일 (프로젝트에 app.config 파일을 자동으로 추가 함)을 추가했습니다. 프로젝트를 컴파일 할 때 출력 디렉터리에서 MyLib.dll.config 파일을 효과적으로 가져옵니다.
이제 GUI 프로젝트의 경우 클래스 라이브러리를 참조하고 MyLib.dll.config를 bin \ debug (및 release) 폴더에 수동으로 복사합니다.
GUI 응용 프로그램에서 MyLib.dll.config 설정을 가져 오려고했지만 지금까지 작동하지 않습니다. .settings 클래스를 public으로 설정하려고 시도했지만 성공하지 못했습니다.
OpenMappedExeConfiguration() 메서드에 대해 읽었지만 반환 된 구성에서 설정을 찾지 못하는 것 같습니다. 또한, 어떻게 OpenMappedExeConfiguration에 의해 반환 된 구성을 사용하도록 .settings 클래스를 강제 할 것인가?
참고 : MyLib.dll.config의 항목을 GUI 응용 프로그램의 app.config에 수동으로 추가하지 않으려합니다. 해당 항목이 전혀 포함되어 있지 않기 때문입니다.
추가 참고 :
I가 가지고있는 .config 파일 : 두 섹션을 포함하는 SectionGroup이 있음을
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="TestAssembly.ItemClass" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="TestAssembly.Entity" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<TestAssembly.ItemClass>
<setting name="Job" serializeAs="String">
<value>TrussPlant.Job</value>
</setting>
<setting name="Family" serializeAs="String">
<value>TrussPlant.Family</value>
</setting>
</TestAssembly.ItemClass>
<TestAssembly.Entity>
<setting name="TrussClassifier" serializeAs="String">
<value>TrussPlant.Classifier</value>
</setting>
<setting name="TrussComposer" serializeAs="String">
<value>TrussPlant.Composer</value>
</setting>
</TestAssembly.Entity>
</applicationSettings>
</configuration>
참고.
좋은 생각이지만 컴파일러에서 허용하지 않는 DllConfig.AppSettings [propertyName]의 오류 인 것 같습니다. 대신 DllConfig.AppSettings.Settings 시도하고 여전히 작동하지 않습니다. 심지어는 DllConfig.AppSettings.Properties를 사용하려고했지만 내부적으로 보호 된 것으로 선언되었습니다 ... –
죄송합니다.이 [string] 구현을 실제로 컴파일해야하지만 아직 테스트가 진행 중입니다. * 일. –