콘솔 응용 프로그램을 개발 중이며 .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>
답변
오류 메시지 자체는 실제로 올바른 수정 사항을 자세히 설명합니다.
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>
답변
오류 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>
오류는
오류를 수정하기 위해 요소를 재정렬하고 오류를 수정했습니다.