无法加载文件或程序集’EntityFramework,Version = 6.0.0.0,
我正在和EF合作。 我正在尝试执行此行
public ActionResult Edit(string id) { return View(obj.FindSemesterById(id)); }
我在我的项目上安装了EF Version 5。
但我得到这个错误:
无法加载文件或程序集’EntityFramework,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040)
我的web.config文件:
从评论部分看来,您无法从公共NuGet源安装最新版本的EF,因为您的计算机无法直接访问互联网,也无法解析www.nuget.org
域。 通常,如果在Internet设置中配置代理,Visual Studio将在从公共存储库安装NuGet时使用此代理。
因此,一旦在项目中安装了最新的EF 6.1.0
软件包,错误就会消失。 目前,您似乎正在使用该软件包的某些旧版本,并且您的解决方案中的项目需要v6。
首先检查您使用的EF版本。
您可以从NuGet
Manage Pack更新EF版本。
转到您的项目解决方案 – >’管理解决方案的NuGet数据包’,单击’entity framework’上的’管理’。
并检查您的app.config
。 也许这里引用了错误的版本号。
编辑:
它引用了EF版本5.0.0.0
打开
Toos > Nuget Package Manager > Package Manager Console
然后运行
PM> install-package entityframework -version 6.0.0.0
或者您可以使用以下命令将其更新到最新版本
PM> Update-Package entityframework
我今天遇到了同样的问题。 我在一个解决方案中有3个项目,其中两个有EF 6.0.0.0
,其中一个有5.0.0.0
。 当我发现这个问题时,我升级了那个项目的版本。 错误消失了。
注意:我只是去了每个项目的References
文件夹,看到了EntityFramework
的属性,找出了Entity的版本。
使用Nuget卸载EF然后再添加它,清理并重建您的项目,就像一个魅力。 在我的情况下,“卸载”部分很关键,我做了很多重新安装和更新,没有。
我遇到了类似的问题和你提到的相同的错误。
我解决了不同的问题。 我注意到EntityFramework.dll已添加到解决方案资源管理器下的packages文件夹中。 所以我将EntityFramework.dll从该文件夹复制到解决方案资源管理器下的bin文件夹,它工作正常。 我知道这不是你的答案,它可能对其他人有帮助,所以我只是添加了它。
我遇到了同样的问题,在这里查看答案给了我一个提示。 我的解决方案中有四个项目。 这是一个与我最初通过解决方案创建的计算机不同的计算机,因此我打开了Tools,然后是NuGet包管理器,单击“管理解决方案的NuGet包,找到entity framework并单击它一次。然后单击出现的管理按钮。
NuGet提议将EF安装到解决方案中的一个项目中,所以我这样做了。 那是我开始收到这个错误的时候。
回到NuGet并选中框以将EF安装到解决方案中的所有四个项目中解决了问题。
快乐了!