อนุญาตให้ใช้องค์ประกอบ configSections เพียงรายการเดียวต่อไฟล์ config และหากมีอยู่ต้องเป็นลูกแรกขององค์ประกอบคอนฟิกูเรชัน root


96

ฉันกำลังพัฒนาแอปพลิเคชันคอนโซลและเมื่อฉันเรียกใช้ไฟล์. 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 " (ในกรณีที่มีคน googling อันนี้ ).
Uwe Keim

คำตอบ:


231

ข้อความแสดงข้อผิดพลาดนั้นให้รายละเอียดการแก้ไขที่ถูกต้อง:

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

1
@AtronSeige ฉันด้วย: P
Piyey

ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกันสำหรับบริการ windows และ app.config ไม่มีแท็ก "<configSections>" อยู่ในนั้น
mbx

กรุณาโพสต์ config ของคุณไปที่ pastebin และเชื่อมโยงที่นี่
Daniel Hilgarth

2
เมื่อปรากฎว่า config ของฉันก็ใช้ได้ แต่ 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.