【问题标题】:Entity Framework error initialization实体框架错误初始化
【发布时间】:2023-03-18 14:40:01
【问题描述】:

我有一个 MVC .Net 4.5 项目并且我已经安装了 Entity Framework。

安装的版本是 6.0.1。但是当我运行应用程序时,它返回一个错误:

无法加载文件或程序集 'EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 或其中之一 依赖关系。定位程序集的清单定义不 匹配程序集引用。 (HRESULT 异常:0x80131040)

所以,在我看到之后,我已经卸载了 EF,并再次安装了它,但是是 6.0.0 版本。 但是,错误仍然存​​在!

你知道有什么问题吗?

谢谢大家

【问题讨论】:

    标签: .net entity-framework


    【解决方案1】:

    检查您的 app.config 或 web.config。也许这里错误的版本号。还要检查参考文献中的 EF 库编号。

    【讨论】:

    • 我已经检查过了。在 web.config 中说版本 6.0.0 和在 dll 中!
    • 你也检查过PublicKeyToken吗? GAC 中的 EF.dll 和您的配置中的 EF.dll 应该相等。
    • 我没有检查过!如何在 GAC 中查看 PublicKeyToken?
    • 抱歉 EF 不在 GAC 中,它是由 Nuget 加载的。您是否使用 Nuget 将 EF 附加到项目?
    • 是的,我已经通过 Nuget 安装了 EF!
    【解决方案2】:

    转到“管理解决方案的 NuGet 数据包...”,单击“实体框架”上的“管理”并检查需要实体框架的项目

    【讨论】:

      【解决方案3】:

      解决方案是将最新版本的实体框架从 NuGet 安装到解决方案中的所有项目。

      这对我来说效果很好。

      希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        我有这个问题,因为我 => 1:使用 VS 2013 的 Web API 模板创建了一个新的解决方案。这参考了 EF 5 2:在解决方案中添加一个新项目,作为数据层 3:新项目安装EF,NuGet安装最新,EF 6!

        问题是由于同一解决方案中的项目之间的版本不匹配造成的。

        解决方法是在具有 EF 5 的项目上安装 EF 6。NuGet 小心卸载 EF 5。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-02-21
          • 2016-10-10
          相关资源
          最近更新 更多