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


91

콘솔 응용 프로그램을 개발 중이며 .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>

1
독일어에서 오류 메시지는 " Pro Konfigurationsdatei ist nur ein <configSections> -Element zulässig und muss, sofern vorhanden, das erste untergeordnete Element des Stamm- <configuration> -Elements sein. "(이 경우 누군가 인터넷 검색을하고 있습니다. ).
우베 KEIM

답변:


223

오류 메시지 자체는 실제로 올바른 수정 사항을 자세히 설명합니다.

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>

54
오늘 저는 전체 오류 메시지를 읽어야한다는 것을 배웠습니다. 감사.
Atron Seige 2014-08-05

1
나도 @AtronSeige : P
Piyey

Windows 서비스에 대해 동일한 오류 메시지가 표시되고 app.config에 "<configSections>"태그도 없습니다.
mbx

구성을 pastebin에 게시하고 여기에 링크하십시오
Daniel Hilgarth

2
결과적으로 내 구성은 괜찮 았지만 해당 컴퓨터의 machine.config가 손상되었습니다. SQLExpress / localhost 연결 문자열도 포함했지만 해당 컴퓨터에 SQL이 설치되지 않았습니다.
mbx

2

오류 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> 

오류는

여기에 이미지 설명 입력

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

여기에 이미지 설명 입력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.