0

Win7 マシンで LinqPad 4.47.02 を実行しています。EF5/dbContext 接続を追加しようとしました。アセンブリ、アセンブリ内のクラス、およびそのようなアセンブリの構成ファイルを選択します。接続を追加すると、次のエラーが発生します。

The type initializer for 'System.Data.Entity.Internal.AppConfig' threw
an exception.

私のapp.configにはこれが含まれています:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.data>
    <DbProviderFactories>
      <add name="MySQL Data Provider"
           invariant="MySql.Data.MySqlClient"
           description=".Net Framework Data Provider for MySQL"
           type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data" />
    </DbProviderFactories>
  </system.data>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="FipavContextContainer" connectionString="metadata=res://*/FipavContext.csdl|res://*/FipavContext.ssdl|res://*/FipavContext.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=127.0.0.1;User Id=root;database=fipavmanagerdb&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
</configuration>

ここで提案されているように configfile のタグにコメントを付けようとしましたが、同じエラーが発生します。

補足として、接続は機能し、多くの linqpad クエリが保存されています。それらの 1 つを読み込んで実行しようとすると、追加情報なしで linqpad がクラッシュします。

私は何を間違っていますか?

ありがとう。

(奇妙な)解決策:

<configSections>タグの直前にタグを移動してみたら<system.data>エラーが飛んでいきました

4

1 に答える 1

2

configSections要素のmsdn 記事によると:

この要素が構成ファイルにある場合、構成要素の最初の子要素である必要があります

理由の 1 つは、この要素が構成内のカスタム セクションを処理するハンドラーを定義しているため、最初の場合、カスタム セクションがハンドラーの前に定義されているケースを処理するために解析構成を複数回読み取る必要がないためだと思います。このセクションが定義されています。

于 2013-10-14T16:29:15.330 に答える