实体框架版本问题

时间:2012-09-20 22:31:31

标签: entity-framework

拥有类库和WPF应用程序,并尝试包含类库中的所有Entity Framework项,并使用接口来获取信息。一切都已设置,但每次尝试时都会收到此消息:

消息“'System.Data.Entity.Internal.AppConfig'的类型初始值设定项引发异常。”

当我查看内部异常时,它似乎无法找到EntityFramework的5.0.0.0版本,当我检查它的参考时,它是4.4.0.0。尝试通过NuGet卸载并重新安装EntityFramework,但没有运气。关于下一步该尝试的任何想法?

App Config:

<?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>

3 个答案:

答案 0 :(得分: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)

答案 1 :(得分:2)

卸载EntityFramework

将类库更新为.Net版本4.5

重新安装EntityFramework

现在一切正常。

答案 2 :(得分:1)

我尝试将网络配置中的EF版本更改为项目中当前安装的EF版本,一切顺利。