我刚刚将我的MVC4项目升级到了.NET 4.5和EF5,并开始使用VS2012.
实现后,我需要再次在程序包管理器中设置自动迁移,我运行了Enable-Migrations – EnableAutomaticMigrations并收到错误
实现后,我需要再次在程序包管理器中设置自动迁移,我运行了Enable-Migrations – EnableAutomaticMigrations并收到错误
没有上下文类型是在集中找到“MySolutionName”.
有一些Research表示,它与EF5无关,不能启用先前的释放.我运行Install-Package EntityFramework -IncludePrerelease,但它说EF5已经安装(这是当我通过NuGetmanager安装它,而不指定-IncludePrerelease.
有谁知道我必须做的,使我的项目迁移?
解决方法
我只是遇到同样的问题,并在寻找解决方案时找到您的问题.
我得到它的工作对我来说,这个问题是,当我通过NuGet添加EF 5时,我最初的目标是.NET 4.0框架.改变目标框架,然后通过NuGet重新安装EF 5,修复它.也可以(见注释),通过NuGet重新安装EF 5是您的解决方案.
我在App.config文件中有以下一行,注意版本= 4.4.0.0:
<configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,EntityFramework,Version=4.4.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> </configuration>
所以我做的是将目标框架设置为4.5,并将支持的运行时间设置为4.5(在应用程序配置中).
旧:
<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup>
新:
<startup> <supportedRuntime version="v4.5" sku=".NETFramework,Version=v4.5" /> </startup>
之后,我通过NuGet删除了EF 5.0,并再次添加.它给了我以下configSection作为结果,通知版本= 5.0.0.0:
<configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,Version=5.0.0.0,PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> </configuration>
在那个变化之后,它的工作.