从项目中删除Entity Framework 4.3的正确方法是什么?

时间:2012-02-16 19:38:33

标签: entity-framework-4

我有一个使用EF Code First的解决方案。我最近将所有项目升级到EF 4.3(使用NuGet)。但是,之后我发现另一个包(EFHooks)不适用于该版本。

所以我决定将版本回滚到4.1.10715.0,这是我可以使用EFHooks的最新版本。

当我编译应用程序时,一切都编译好了。我可以运行所有测试并通过(单元测试,集成测试,数据库测试等)。但是,当我运行网站(mvc 3)时,它会给我一个运行时错误说明

  

无法加载文件或程序集“EntityFramework”或其中一个   依赖。 ...版本= 4.3.0.0等等

我已经检查了所有的packages.config和我的web.config。我已经检查了所有引用的dll版本。一切都是4.1。

我无法在我的解决方案中找到任何使用4.3的内容,但该网站正试图找到它。

我错过了我的回滚中的某些内容吗?

2 个答案:

答案 0 :(得分:1)

要检查的要点:

  1. 验证web.config是否绑定到您想要的版本
  2. 验证\bin文件夹包含正确版本的程序集
  3. 执行iisreset并删除C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

  4. 中的临时文件
  5. 尝试redirecting程序集到您想要的版本

答案 1 :(得分:1)

事实证明真正的错误是我没有将我的DBContext连接到我的IoC容器。在这种情况下,Ninject。

因此,当请求DBContext时,IoC容器出错了,因为它没有连接到应用程序。

我不明白为什么它给了我它所犯的错误,但对于任何经历相同步骤的人来说,我希望如果你发现自己和我在同一个地方,这可能会有用。

所以,我需要添加的所有代码基本上都是以下内容:

Bind<ICustomSession>().To<EFDBContext>().InRequestScope();