找不到方法:“Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)”。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.MissingMethodException: 找不到方法:“Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)”。

 

问题原因:

D:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\NuGet Packages\EntityFramework.5.0.0\lib

有两个版本 net40 和 net45 ,  用net40就可以了

  imageimage

 

-------------------------------

一开始想直接在服务器上安装Framework 4.5.下载安装包运行后提示:该操作系统不支持

没办法,只能通过修改代码解决了.

其实解决方法很简单,主要问题是:虽然各个类库项目的编译版本选择了Framework4.0,但是EF在引用时的EntityFramework.dll是针对4.5版本的.因此我们只要引用正确的dll即可.

我的VS2012安装在C盘,因此EntityFramework.dll的地方在C:/Program Files (x86)/Microsoft Web Tools/Packages/EntityFramework.5.0.0/lib/ ,里面有net40和net45,net40自然是在Framework4.0下使用的了.

在EF的项目中应用这个dll,编译部署. 运行成功!!

posted on 2013-03-25 19:34  寒云  阅读(2782)  评论(1编辑  收藏  举报