具体错误是我建立控制器的时候出现如下图那样的错误:

Unable to cast object of type 'System.Data.Entity.Core.Objects.ObjectContext' to type'System.Data.ObjectContext'

出现该错误的原因是MVC支架不支持entity framework6.

当然这原因是我今天刚升级完VS2012到update 4RC才知道的。

解决方案很简单。就是安装VS2013或者把entity framework 6降级。我当然选后者。把entity  framework 6卸载后,可以到 NuGet Gallery | EntityFramework 这里找到其历史版本。根据你需要的版本在  Package Manager Console (工具-库程序包管理器-程序包管理控制台)那里输入对应的命令就好了,它会自动在你项目安装那些组件的,前提是网络通畅。安装EF5.0.0就是输入如下命令.

Install-Package EntityFramework -Version 5.0.0 

然后还有一个问题,就是控制器建立好后要把原来bin文件夹里的EntityFramework.dll用新安装的版本的dll去覆盖它,这样才能调试成功。不然会出现如下2个错误。

 错误11未能将“XXX\EntityFramework.5.0.0\lib\net45\EntityFramework.dll”复制到“bin\EntityFramework.dll”。超出了重试计数 10。失败。

 

错误12无法将文件“XXX\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.dll”复制到“bin\EntityFramework.dll”。文件“bin\EntityFramework.dll”正由另一进程使用,因此该进程无法访问此文件。

 

 

 

posted on 2013-11-02 15:07  Cherbim  阅读(1650)  评论(0编辑  收藏  举报

这是页脚