每个配置文件只允许一个<configsections>元素,如果存在,则必须是根<configuration>元素的第一个子元素</configuration> </configsections>

时间:2012-11-29 10:39:00

标签: c# asp.net iis-7 console-application app-config

我正在开发控制台应用程序,当我运行.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 useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
    </startup>

然后它运作正常。

3 个答案:

答案 0 :(得分:202)

您真的应该只是阅读错误消息。它包含解决问题所需的一切:
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>

答案 1 :(得分: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> 

错误

enter image description here

要修复错误,我重新安排了元素并修复了错误。

enter image description here

答案 2 :(得分:2)

我知道必须是第一个子元素,更改配置文件会使问题消失。但是,配置文件是自动生成的,因此每次发生错误都会返回错误,因为它生成错误...