EF 4.1到EF 4.3.1:有些东西仍在引用4.1,但找不到它

时间:2012-04-17 10:21:18

标签: asp.net-mvc-3 entity-framework-4

设定:

我有一个应用程序是另一个应用程序的副本,适用于EF 4.1。在新的应用程序中,我在域项目中添加了一个nuget包引用到EF 4.3.1。

所有工作都在我的本地计算机上运行,​​但在服务器上会抛出以下错误:

Could not load file or assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

显然,某些东西仍然引用旧的实体框架4.1,但它找到的唯一的DLL是EF 4.3.1 dll。

web.config中没有对EntityFramework的引用。

问题:

如何找到仍在引用旧dll的内容?

我已从解决方案中的所有项目中删除了所有EF引用,并将EF 4.3.1包添加到每个项目中,但仍然没有乐趣。

说明:

我可以使用dependentAssembly尝试绑定重定向(参见this SO question中接受的答案)

但是,我找不到要使用的名称和标记。

尽管如此,最好还是找到问题的路线,而不仅仅是重定向绑定。

1 个答案:

答案 0 :(得分:4)

您是否在更改引用后重新编译了应用程序,或者只是上传了新的EntityFramework.dll文件?应用程序的库可能仍然在生产环境中引用旧版本。重新编译并重新发布。

编辑(参见评论):在记事本中打开所有.csproj文件并查找参考标签,仔细检查所有项目中是否存在旧版本。