0

Visual Studio 2012 问题:

最近安装的 2012(2010 已经在这里了)...从 TFS 下载项目...去运行该项目,它需要 EntityFramework ...从 NuGet 安装 EntityFramework ...

这是问题所在:现在它抛出了一个错误:

无法加载文件或程序集 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=...' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

有了这个错误,我们搜索并发现解决这个问题的一种方法是从 GAC 中清除该实例。我使用以下命令从 Visual Studio 命令提示符(顺便说一句,它只出现了 2010 命令提示符)中清除了 GAC:

gacutil /u "EntityFramework ..."

哪个返回:

  • 找不到匹配的程序集:EntityFramework
  • 卸载的程序集数 = 0
  • 失败次数 = 0

所以我想知道是否有人可能遇到过这个问题并找到了解决方案 - 或者 - 是否有人可以解决整个问题。谢谢!

4

2 回答 2

1

看起来有些东西硬编码了对 EntityFramework 4.1 版的引用。

EntityFramework(根据nuget)目前在版本 5 上(尽管我相信程序集版本号是 4.4.0.0)。

为了解决这个问题,您可以安装特定版本的包(参见此处)或使用程序集绑定重定向来强制它使用更高版本(此处显示了一个示例)。

于 2012-08-28T12:03:09.013 回答
1

我跟着这个:

http://msdn.microsoft.com/en-us/library/aa559881.aspx

但是我试图卸载的 dll 被“卡住”了。

这导致我这样做:

http://support.microsoft.com/kb/873195

我删除了注册表项。

现在gacutil /u工作了。

错误消失了。

在我进行注册表调整后,我的完全卸载看起来像这样:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\gacutil.exe" /u "EntityFramework,Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
于 2013-11-05T21:55:13.910 回答