实体框架 – 任何人都可以发现为什么我不断得到这个错误测试EF 5测试版

安装visual studio 11 beta想要测试EF 5 beta,但不断地碰到这个错误。

Method not found: ‘Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)’.

项目是一个新的空白MVC3应用程序,以下是一些代码,说明如何错误发生。

public class Blog
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class EFDbContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }
}

public class HomeController : Controller
{
    protected EFDbContext Db = new EFDbContext();

    public ActionResult Index()
    {
        Blog B = new Blog();
        B.Name = "Test";            
        Db.Blogs.Add(B);
        Db.SaveChanges();
        return View();
    }
}

查找在谷歌的错误,但没有出现,我不太确定什么错误是指。
我添加了下面的stacktrace的代码段,以防它会帮助。

[MissingMethodException: Method not found: ‘Void
System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)’.]
System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +0
System.Data.Entity.Internal.InternalContext.Initialize() +31
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type
entityType) +39
System.Data.Entity.Internal.Linq.InternalSet1.Initialize() +137
System.Data.Entity.Internal.Linq.InternalSet
1.get_InternalContext()
+38 System.Data.Entity.Internal.Linq.InternalSet1.ActOnSet(Action action, EntityState newState, Object entity, String methodName) +236
System.Data.Entity.Internal.Linq.InternalSet
1.Add(Object entity) +200
System.Data.Entity.DbSet`1.Add(TEntity entity) +72

看起来你正在使用EF5 EntityFramework.dll,但然后运行与安装的.NET 4而不是.NET 4.5。

如果您打算定向.NET 4.5,请确保.NET 4.5安装在运行代码的计算机上。 VS11为您安装.NET 4.5,但您也可以只在非开发计算机上安装运行时。

如果您打算定向.NET 4,请确保您的项目设置为目标.NET 4,然后卸载并重新安装EF5 NuGet包。您必须卸载并重新安装,因为NuGet不会在项目重新分配时自动更改正在使用的程序集。

更新:

如果您仍然安装了EF June CTP或无法正确卸载,您也可能会看到此异常。请尝试在安装VS11之前完全卸载June CTP。如果您仍然看到问题,他们以管理员身份打开“开发人员命令提示符”并运行:

gacutil /u System.Data.Entity,Version=4.2.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089

如果这仍然失败,您可以尝试从GAC强制卸载:

gacutil /uf System.Data.Entity,Version=4.2.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089
http://stackoverflow.com/questions/9591929/can-anyone-spot-why-i-keep-getting-this-error-testing-the-ef-5-beta

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:实体框架 – 任何人都可以发现为什么我不断得到这个错误测试EF 5测试版