Dra*_*uka 30 entity-framework ef-code-first .net-4.5 entity-framework-4.3
安装了visual studio 11 beta,想要测试EF 5测试版但是仍然遇到这个错误.
找不到方法:'Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)'.
Project是一个新的空白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();
}
}
Run Code Online (Sandbox Code Playgroud)
在谷歌上查找错误但没有出现,我不太确定错误是指什么.我在下面添加了一个堆栈跟踪片段以防万一它会有所帮助.
[MissingMethodException:方法未找到: '无效System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(布尔值)'.] System.Data.Entity.Internal.LazyInternalContext.InitializeContext()0 System.Data.Entity.Internal.InternalContext.Initialize ()31
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(类型的EntityType)39
System.Data.Entity.Internal.Linq.InternalSet 1.get_InternalContext()38 System.Data.Entity.Internal.Linq.InternalSet 1.Add(Object entity)+200 System.Data.Entity.DbSet`1.Add(TEntity entity)+721.Initialize() +137
System.Data.Entity.Internal.Linq.InternalSet1.ActOnSet(Action action, EntityState newState, Object entity, String methodName) +236
System.Data.Entity.Internal.Linq.InternalSet
Art*_*ers 60
看起来您正在使用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
Run Code Online (Sandbox Code Playgroud)
如果仍然失败,那么您可以尝试通过以下方式强制从GAC卸载:
gacutil /uf System.Data.Entity,Version=4.2.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19440 次 |
| 最近记录: |