无法加载文件或程序集“的EntityFramework”错误

问题描述:

无法加载文件或程序集“的EntityFramework,版本= 4.3.1.0, 文化=中性公钥= b77a5c561934e089”或它 的一个依赖。找到的程序集的清单定义不符合程序集引用的 。 (异常来自HRESULT:0x80131040)无法加载文件或程序集“的EntityFramework”错误

我只当我将此代码添加到我的项目得到这个错误:

private IUserRepository repository; 

     public SearchController(IUserRepository repo) 
     { 
      repository = repo; 
     } 

我想这是有道理的,因为我使用的EntityFramework这一点。我现在确定如何解决这个错误。

我已看过此链接:http://msdn.microsoft.com/en-us/library/e74a18c4.aspx 虽然我不确定如何使用此程序? (它总是空白的)。

我认为这个bug可能与我的数据库由dotnet-host.com托管的事实有关,并且有一些本地引用在与数据库在线交互时会中断。

+1

这是我找到我的答案的地方 - http://*.com/questions/9540168/error-loading-entityframework-4-3-1检查你所有的dll,确保他们有相同的参考 – 2012-04-05 19:06:08

错误告诉你的是你的项目引用了一个不同于它在运行时发现的EntityFramework.dll版本。

检查您在项目中引用了哪个版本的EntityFramework.dll(更新您的问题)。

确保您将所有相关的dll和* .manifest复制到应用程序的bin文件夹中。

由于它是外部主机,因此您可能需要通过WebMatrix Package Manager安装EntityFramework。如果你这样做,你可以按照this tutorial

  1. 只要确保你所使用的开发您的主机站点上安装的EntityFramework的同一版本或
  2. 改变你的装配参考Specific Version = false上的EntityFramework的DLL(注意,我不知道这是否会工作,因为我总是尝试使用相同版本进行开发和部署,所以也许有人可以证实?)。
+1

这是问题是什么。出于某种原因(默认情况下)它使用比手动引用时更低的版本号,并且由于我在两个项目中引用了它(默认情况下是一次),所以导致版本号不一致。谢谢。 – Johannes 2012-04-06 23:39:00

+0

我在将一个新的MVC项目添加到一个sln以及多个引用EntityFramework(6.0.0.0)的其他项目之后,我遇到了这个问题。我的新MVC项目的web.config试图引用5.0.0.0。改为6.0.0.0,大家都开心 – SleepyBoBos 2015-06-11 05:15:27