找不到方法:“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就可以了
-------------------------------
一開始想直接在服務器上安裝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,編譯部署. 運行成功!!