2014-10-10 2 views
0

시도하고있는 것을 수행 할 수 있는지 모르겠지만 여러 프로젝트에서 양식을 가져 와서 해당 프로젝트에 대한 참조를 추가했습니다. 각 프로젝트마다 다른 연결 문자열 집합이 있고이를 SECTION (사용자가 콤보 상자에서 연결을 선택)으로 필터링 할 수있는 App.config에 공존 시키려고합니다. ConfigSections를 구현하여이 작업을 수행 할 수 있기를 바랍니다. 그것이 가능하다면 나는 분명히 어떻게하는지 모른다.구성 시스템을 초기화하지 못했습니다 ==> 인식 할 수없는 구성 섹션

내 App.config이 첨부됩니다. '구성 시스템을 초기화하지 못했습니다.'오류가 발생합니다. 세부 정보를 입력하면 '인식 할 수없는 구성 섹션'이라고 표시됩니다. amSettings

내가 할 수있는 일이 가능합니까? 그렇다면 무엇을 교정해야합니까?

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="ApplicationSettings" 
         type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="amSettings.Properties.Settings" 
        type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
        allowExeDefinition="MachineToLocalUser" 
        requirePermission="false"/> 
      <section name="cbSettings.Properties.Settings" 
     type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     requirePermission="false"/> 
     </sectionGroup> 
    </configSections> 

    <amSettings> 
     <add key="VX130 Attribute Map Connections" value="Sample Console Application" /> 
     <add key="Region 1 VX130" value="Server=R01SCRDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 2 VX130" value="Server=R02LITDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 3 VX130" value="Server=R03DURDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 4 VX130" value="Server=R04PHIDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="CDW" value="Server=VHACDWA01;Database=;Trusted_Connection=true;"/> 
    </amSettings> 
    <cbSettings> 
     <add key="CDW Class Builder Connections" value="Sample Console Application" /> 
     <add key="Region 1 Class Build"  value="Server=R01SCRDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 2 Class Build"  value="Server=R02LITDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 3 Class Build"  value="Server=R03DURDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 4 Class Build"  value="Server=R04PHIDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="DEVELOPMENT Class Build" value="Server=VHACDWA01;Database=Util;Trusted_Connection=true;"/> 
     <add key="PREVIEW Class Build" value="Server=VHACDWA01;Database=Util;Trusted_Connection=true;"/> 
     <add key="VERSION Class Build" value="Server=VHACDWA01;Database=Util;Trusted_Connection=true;"/> 
    </cbSettings> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
</configuration> 

답변

0

변경 cbSettings

예에 amSettings에 amSettings.Properties.Settings 및 cbSettings.Properties.Settings에서 섹션 이름 여기

`<section name="amSettings" ` 

는 포괄적 인 예입니다

 var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
     AppSettingsSection appSettingSection = (AppSettingsSection)config.GetSection("amSettings"); 
     var a = appSettingSection.Settings["ABC"].Value; 
+0

나는 그것을 시도하고 동일한 오류가 발생합니다. 관련이 있는지 모르겠지만 amSettings 및 cbSettings 섹션을 제거하고 ConfigSections 정의를 그대로두면 오류가 사라집니다. 불행히도 연결 문자열이 오래 있다는 것을 알고 있습니다. –

+0

당신의 답변은 그것의 일부입니다. 또한 그룹 이름으로 섹션을 래핑해야했습니다. \t

+0

확인을 클릭하기 전까지는 귀하의 의견이 보이지 않습니다. ApplicationSettings 섹션을 명시 적으로 원하지 않으면 섹션 그룹을 제거하고 amSettings 및 cbSettings를 직접 정의 할 수 있습니다. – user469104

0
:

<configSections> 
     <section name="amSettings" 
       type="System.Configuration.AppSettingsSection" 
       allowExeDefinition="MachineToLocalUser" 
       requirePermission="false"/> 
     <section name="cbSettings" 
    type="System.Configuration.AppSettingsSection" 
    requirePermission="false"/> 
    </configSections> 
    <amSettings> 
     <add key="ABC" value="DEF"/> 
    </amSettings> 

그런 다음이 코드를 사용하여 키 ABC에 액세스 할 수 있습니다

이에 설정 파일을 변경하는 경우

해결책은 두 가지였습니다. 섹션 이름을 user469104 권장으로 변경하고 그룹 이름의 섹션을 줄 바꿈하십시오.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="ApplicationSettings" 
         type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="amSettings" 
        type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
        allowExeDefinition="MachineToLocalUser" 
        requirePermission="false"/> 
      <section name="cbSettings" 
     type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     requirePermission="false"/> 
     </sectionGroup> 
    </configSections> 
<ApplicationSettings> 
    <amSettings> 
     <add key="VX130 Attribute Map Connections" value="Sample Console Application" /> 
     <add key="Region 1 VX130" value="Server=R01SCRDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 2 VX130" value="Server=R02LITDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 3 VX130" value="Server=R03DURDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 4 VX130" value="Server=R04PHIDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="CDW" value="Server=VHACDWA01;Database=;Trusted_Connection=true;"/> 
    </amSettings> 
    <cbSettings> 
     <add key="CDW Class Builder Connections" value="Sample Console Application" /> 
     <add key="Region 1 Class Build"  value="Server=R01SCRDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 2 Class Build"  value="Server=R02LITDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 3 Class Build"  value="Server=R03DURDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="Region 4 Class Build"  value="Server=R04PHIDWH82;Database=R01_FDW;Trusted_Connection=true;"/> 
     <add key="DEVELOPMENT Class Build" value="Server=VHACDWA01;Database=Util;Trusted_Connection=true;"/> 
     <add key="PREVIEW Class Build" value="Server=VHACDWA01;Database=Util;Trusted_Connection=true;"/> 
     <add key="VERSION Class Build" value="Server=VHACDWA01;Database=Util;Trusted_Connection=true;"/> 
    </cbSettings> 
</ApplicationSettings> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
</configuration> 
관련 문제