3

クラス ライブラリと WPF アプリケーションがあり、クラス ライブラリ内にすべての Entity Framework アイテムを含め、インターフェイスを使用して情報を取得しようとしています。すべてがセットアップされていますが、試してみるたびに次のメッセージが表示されます。

メッセージ「'System.Data.Entity.Internal.AppConfig' の型初期化子が例外をスローしました。」

内部例外を調べたところ、EntityFramework のバージョン 5.0.0.0 が見つからなかったようで、参照を確認したところ、4.4.0.0 でした。NuGet 経由で EntityFramework をアンインストールして再インストールしようとしましたが、うまくいきませんでした。次に何を試すかについてのアイデアはありますか?

アプリ構成:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
</configuration>
4

3 に答える 3

4

これは app.Config に問題があると思います。

  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>

これは、アプリケーション エントリ ポイントの構成ファイルにある必要があります (実行可能ファイル/webapp が実行されているか、クラス ライブラリを使用している場合)。

注意すべき重要な詳細は、EF4.4 が EF5 パッケージ内でリリースされ、.NET 4.5 以外のアプリケーションに使用されることです (つまり、.net 4.5 を使用している場合、参照は 5.0 になり、それ以外の場合は .net 4 では 4.4 になります)。

于 2012-09-20T22:35:45.173 に答える
2

アンインストールされた EntityFramework

クラス ライブラリを .Net バージョン 4.5 に更新

再インストールされたEntityFramework

今、すべての作業。

于 2012-09-20T23:00:13.007 に答える
1

webconfig の EF のバージョンを、プロジェクトに現在インストールされている EF のバージョンに変更しようとしましたが、すべてがスムーズに動作します。

于 2013-06-11T10:00:47.400 に答える