Hanya satu elemen configSections yang diperbolehkan per file konfigurasi dan jika ada harus merupakan anak pertama dari elemen konfigurasi root

94

Saya mengembangkan aplikasi konsol dan ketika saya menjalankan file .exe, saya mendapatkan kesalahan berikut:

system.Configuration.ConfigurationErrorsException: Hanya satu <configSections>elemen yang diperbolehkan per file konfigurasi dan jika ada harus merupakan anak pertama dari <configuration>elemen root .

Ini App.configfile saya :

<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>
    <!-- ... -->

Namun, jika saya menghapus bagian berikut startup, maka itu berfungsi dengan baik

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
</startup>
Mahesh
sumber
1
Dalam bahasa Jerman, pesan kesalahan berbunyi " Pro Konfigurationsdatei ist nur ein <configSections> -Element zulässig und muss, sofern vorhanden, das erste untergeordnete Element des Stamm- <configuration> -Elements sein. " (Untuk berjaga-jaga, seseorang mencari yang ini di Google ).
Uwe Keim

Jawaban:

226

Pesan kesalahan itu sendiri sebenarnya merinci perbaikan yang benar:

configSectionsharus menjadi anak pertama * dari elemen root:

* penekanan ditambahkan

Jadi pindahkan saja configSectionske atas:

<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>
Daniel Hilgarth
sumber
54
Hari ini saya belajar bahwa saya harus membaca seluruh pesan kesalahan. Terima kasih.
Atron Seige
1
@AtronSeige saya juga: P
Piyey
Saya mendapat pesan kesalahan yang sama untuk layanan windows dan app.config bahkan tidak memiliki tag "<configSections>" di dalamnya.
mbx
Silakan posting konfigurasi Anda ke pastebin dan Tautkan di sini
Daniel Hilgarth
2
Ternyata, konfigurasi saya baik-baik saja tetapi machine.config pada mesin itu rusak. Itu bahkan berisi string koneksi SQLExpress / localhost meskipun tidak ada SQL yang pernah diinstal pada mesin itu.
mbx
2

File web.config Error

 <?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> 

The Error Was

masukkan deskripsi gambar di sini

Untuk memperbaiki kesalahan, saya mengatur ulang elemen dan kesalahan telah diperbaiki.

masukkan deskripsi gambar di sini

MAFAIZ
sumber