控制台应用程序:每个configuration文件只允许有一个<configSections>元素,如果存在,则必须是根<configuration>元素的第一个子元素

我正在开发控制台应用程序,当我运行.exe文件,我得到下面的错误。

system.Configuration.ConfigurationErrorsException:每个configuration文件只允许有一个<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> 

那么它的工作很好。 请任何人可以帮我吗?

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

错误的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> 

错误是

在这里输入图像说明

为了解决这个错误,我重新排列了这些元素,并且修正了错误。

在这里输入图像说明

我知道,必须是第一个子元素,并更改configuration文件使问题消失。 但是,configuration文件正在自动生成,所以每次发生错误返回,因为它正在生成不正确…