codememo

configSections 요소는 설정 파일마다 1개만 허용되며 존재하는 경우 루트 설정 요소의 첫 번째 아이여야 합니다.

tipmemo 2023. 4. 23. 10:29
반응형

configSections 요소는 설정 파일마다 1개만 허용되며 존재하는 경우 루트 설정 요소의 첫 번째 아이여야 합니다.

콘솔 응용 프로그램을 개발 중인데 .exe 파일을 실행하면 다음 오류가 나타납니다.

system.Configuration.ConfigurationErrorsException: 1개만<configSections>구성 파일별로 허용되는 요소(존재하는 경우 루트의 첫 번째 자식이어야 함)<configuration>요소.

여기 있습니다.App.config파일:

<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
    </startup>
    <configSections>
        <section name="Reva.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
    <!-- ... -->

그러나 다음 항목을 제거하면startup섹션은 정상적으로 동작합니다.

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
</startup>

에러 메시지 자체는, 실제로 올바른 수정에 대한 상세를 나타내고 있습니다.

configSections루트 요소의 첫 번째 자식*이어야 합니다.

* 추가필수

그러니까 그냥 움직이면 돼configSections맨 위로 이동:

<configuration>
    <configSections>
        <section name="Reva.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
    </startup>
</configuration>

오류 web.config 파일

 <?xml version="1.0" encoding="utf-8"?>   

<configuration>    
   <connectionStrings>   
      <add name="SQLConnect" 
           connectionString="Data Source=SAHIL; Initial Catalog=Demo; Integrated Security=SSPI" 
           providerName="System.Data.SqlClient" />   
   </connectionStrings>     

   <configSections>   
      <sectionnamesectionname="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, 
          Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
   </configSections>  

   :   
   :   
   :   
   :   
   :   
   :   
   :   
</configuration> 

에러

여기에 이미지 설명 입력

오류를 수정하기 위해 요소를 재배치했고 오류를 수정했습니다.

여기에 이미지 설명 입력

내 경우:

아래app.config실행 시간 오류를 발생시켰습니다.

"ConfigurationErrorsException: Only one <configSections> element allowed per config 
file and if present must be the first child of the root <configuration> element."

불량App.config:

<configuration> 
    <appSettings></appSettings>
    <configSections></configSections>   
    <startup> </startup>
    <runtime></runtime>
</configuration>

이사한 지 얼마 전에<configSections></configSections>문제가 해결되었습니다.

맞아요.App.config:

<configuration> 
    <configSections></configSections>
    <appSettings></appSettings>
    <startup> </startup>
    <runtime></runtime>
</configuration>

언급URL : https://stackoverflow.com/questions/13623896/only-one-configsections-element-allowed-per-config-file-and-if-present-must-be-t

반응형