Yapılandırma dosyası başına yalnızca bir configSections öğesine izin verilir ve varsa, kök yapılandırma öğesinin ilk alt öğesi olmalıdır


95

Konsol uygulamasını geliştiriyorum ve .exe dosyasını çalıştırdığımda aşağıdaki hatayı alıyorum:

system.Configuration.ConfigurationErrorsException: <configSections>Yapılandırma dosyası başına yalnızca bir öğeye izin verilir ve varsa, kök <configuration>öğenin ilk alt öğesi olmalıdır.

İşte App.configdosyam:

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

Ancak, aşağıdaki startupbölümü kaldırırsam iyi çalışıyor

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

1
Almanca olarak, hata mesajında ​​" Pro Konfigurationsdatei ist nur ein <configSections> -Element zulässig und muss, sofern vorhanden, das erste untergeordnete Element des Stamm- <configuration> -Elements sein " yazmaktadır. ).
Uwe Keim

Yanıtlar:


229

Hata mesajının kendisi aslında doğru düzeltmenin ayrıntılarını verir:

configSectionskök öğenin ilk alt öğesi * olmalıdır :

*vurgu eklendi

Öyleyse sadece configSectionsen üste taşıyın :

<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
Bugün tüm hata mesajını okumam gerektiğini öğrendim. Teşekkürler.
Atron Seige

1
@AtronSeige me de: P
Piyey

Bir Windows hizmeti için aynı hata mesajını aldım ve app.config dosyasında "<configSections>" etiketi bile yok.
mbx

Lütfen yapılandırmanızı pastebin'e gönderin ve buraya
bağlayın

2
Görünüşe göre yapılandırmam tamamdı, ancak bu makinedeki machine.config bozuktu. Hatta bir SQLExpress / localhost bağlantı dizesi içeriyordu, ancak bu makineye hiçbir SQL yüklenmemişti.
mbx

2

Hata web.config Dosyası

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

Hata

görüntü açıklamasını buraya girin

Hatayı düzeltmek için öğeleri yeniden düzenledim ve hata düzeltildi.

görüntü açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.