问题背景:MVC4不支持EF6,所以要把EF6卸载然后安装EF5.只能降低版本EF5+MVC4或者EF6+MVC5;
这时候:
Uninstall-Package EntityFramework -Force //卸载EF6 Uninstall-Package <程序包名> -Force
Install-Package EntityFramework –Version 5.0.0 //安装EF5 Install-Package <程序包名> –Version <版本号>
然后可能会出这种问题===>解决办法:
Web.config 中删除 如下内容 MVC4+EF5(原来是EF6 版本太高不支持导致 生成时多余的代码)
<providers>
<provider invariantName=”System.Data.SqlClient” type=”System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer” />
</providers>
OK!问题解决了,继续干活.......
因为可视化库程序包管理器的局限性,有很多需要的功能在界面中无法完成。
以下技巧均需要在“程序包管理器控制台”中使用命令来完成。
一、改变项目目标框架后,更新程序包
当改变项目的目标框架后,无论是升级还是降级,都会导致项目中引用的组件不是最合适此框架下的版本,NuGet会自动出现一个警告提示重新更新一下组件,如何操作是指向了一个英文页面,这里就直接把页面中的关键部分拿过记录下来:
更新命令:Update-Package –reinstall <程序包名>
二、强制卸载某程序包(不管是否有依赖项)
此条其实是和下面一条合起来构成“将指定程序包降级到指定版本”。因为降级首先要卸载程序包,但是由于有可能会被其他包依赖造成无法卸载,这时可以使用下面的命令来强制卸载某程序包,不会影响其他依赖项。
强制卸载:Uninstall-Package <程序包名> -Force
三、安装指定程序包版本
默认通过图形界面安装的都是程序包的最新版本,但是有时候因为兼容性的问题,可能并不想要最新版本的程序包,这时候就可以通过以下命令来安装指定版本的程序包。
安装指定版本:Install-Package <程序包名> –Version <版本号>