服务器错误"找不到方法:'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'."

Ola*_*laf 6 c# asp.net entity-framework

在运行Virtuozzo虚拟机的Windows 2008 R2上,使用Entity Framework的ASP.NET MVC 4 Web引发异常

Method not found: 'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'
Run Code Online (Sandbox Code Playgroud)

具有相同web.config 的相同 Web在使用Windows 2012的另一个(根)服务器上运行正常,当然在开发环境中本地运行.

我们使用的是.NET 4.0.堆栈跟踪的顶部如下:

[MissingMethodException:找不到方法:'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'.] System.Data.Entity.Internal.LazyInternalContext.InitializeContext()+ 0 System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery (String sql,Object [] parameters)+34 System.Data.Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerable(String sql,Object [] parameters)+91 System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery(Type elementType,String sql ,Object []参数)+250 System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator()+ 1.GetEnumerator() +28 System.Collections.Generic.List34 System.Data.Entity.Internal.InternalSqlQuery 1..ctor(IEnumerable 1 collection) +382 System.Linq.Enumerable.ToList(IEnumerable1 source)+80 [...]

我做了所有这些建议, 任何人都可以发现为什么我一直在测试EF 5测试版时遇到这个错误.没有旧的EF测试版的痕迹.我重新安装了.NET 4.

这个错误在Google上很少见.

我还能尝试什么?

DZx*_*DZx 4

我也遇到了这个问题,问题是实体框架版本 4.1 和 5 都安装在我的工作站上。该特定程序需要安装在运行 .Net 4(而非 4.5)的服务器上。(由于其他原因,我们无法升级服务器。)但是,默认情况下,当我将 ADO.Net 实体数据模型添加到项目中时,Visual Studio 添加了对 EF 版本 5 的引用。

通过删除 EF 引用并手动将其添加回版本 4.1,它在服务器上成功运行。

您可能已经通过在服务器上安装 .Net 4.5 解决了这个问题...