programing tip

구성 파일 당 하나의 configSections 요소 만 허용되며 존재하는 경우 루트 구성 요소의 첫 번째 하위 요소 여야합니다.

itbloger 2020. 9. 9. 07:46
반응형

구성 파일 당 하나의 configSections 요소 만 허용되며 존재하는 경우 루트 구성 요소의 첫 번째 하위 요소 여야합니다.


콘솔 응용 프로그램을 개발 중이며 .exe 파일을 실행할 때 다음 오류가 발생합니다.

system.Configuration.ConfigurationErrorsException: <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> 

오류는

enter image description here

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

enter image description here


I'm aware that must be the first child element, and changing the config file makes the problem go away. However, the config file is being automatically generated, so each time that happens the error returns because it's being generated incorrectly...

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

반응형