101

コンソール アプリケーションを開発していますが、.exe ファイルを実行すると、次のエラーが発生します。

system.Configuration.ConfigurationErrorsException:<configSections>構成ファイルごとに許可される要素は 1 つだけです。存在する場合は、ルート<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>
4

2 に答える 2

241

エラーメッセージ自体には、実際には正しい修正が詳述されています。

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>
于 2012-11-29T10:41:10.017 に答える