3

有一个类库和一个 WPF 应用程序,我试图在类库中包含所有实体框架项,并使用一个接口来获取信息。一切都已设置,但每次尝试时都会收到此消息:

消息“'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 回答