【发布时间】:2014-01-20 12:26:50
【问题描述】:
在 Windows 2008 R2 上,在 Virtuozzo 虚拟机上运行,使用 Entity Framework 的 ASP.NET MVC 4 Web 会引发异常
Method not found: 'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'
具有相同 web.config 的 相同 网络在另一台装有 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[] 参数) +34 System.Data.Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerable(String sql, Object[] 参数) +91 System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery(类型 elementType,String sql,Object[] 参数)+250 System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator() +34 System.Data.Entity.Internal.InternalSqlQuery
1.GetEnumerator() +28 System.Collections.Generic.List1..ctor(IEnumerable1 collection) +382 System.Linq.Enumerable.ToList(IEnumerable1 源) +80 [...]
我在Can anyone spot why I keep getting this error testing the EF 5 beta 中做了所有建议。没有旧 EF 测试版的痕迹。我重新安装了 .NET 4。
该错误在 Google 上很少见。
我还能尝试什么?
【问题讨论】:
-
@hvd,感谢您的关注。但这指的是开发过程,不是吗,这里一切正常。毕竟,它在另一台服务器上运行,而不是在我们的备份实例上。
-
啊,对不起,我错过了那一点。你是对的,如果完全相同的网站在一台服务器上运行,而不是在另一台服务器上运行,我的评论将无济于事。
-
等等 - 不,它仍然是相关的。如果您在 .NET 4.0 项目中使用 .NET 4.5 版本的 Entity Framework,只要您在安装了 .NET 4.5 的系统上运行它,它就可以工作。只有在没有它的服务器上运行时才会开始出现错误。
-
@hvd - 有趣的想法,你是对的。我相信 .NET 4.5 也没有安装在主服务器上,但可能值得尝试安装 4.5。再次感谢。
标签: c# asp.net entity-framework