Add-Migration命令失败,"type is not resolved"(其中"type"是内部实体框架类)

Dan*_*kiy 10 entity-framework ef-migrations

我已经使用了具有单独迁移包的实体框架(对于3.5或4.0,不记得),以及包含迁移api(4.3,5.0).

但今天我创建了一个新项目(空MVC4.0项目),安装最新的稳定EF(4.3)并在下面的"pm> Add-Migration initital"命令中收到错误

System.Runtime.Serialization.SerializationException: Type is not resolved for member 'System.Data.Entity.Migrations.Design.ToolingFacade+GetPendingMigrationsRunner,EntityFramework    , Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
   at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)
   at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)
   at System.Data.Entity.Migrations.Design.ToolingFacade.GetPendingMigrations()
   at System.Data.Entity.Migrations.AddMigrationCommand.<>c__DisplayClass2.<.ctor>b__0()
   at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command)
Run Code Online (Sandbox Code Playgroud)

然后我试图切换到EF5.0并且仍然存在错误,在版本中有一个区别:

System.Runtime.Serialization.SerializationException: Type is not resolved for member 'System.Data.Entity.Migrations.Design.ToolingFacade+GetPendingMigrationsRunner,EntityFramework      , Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
Run Code Online (Sandbox Code Playgroud)

这是我第一次收到这个错误.该
"System.Data.Entity.Migrations.Design.ToolingFacade"类存在和它的"GetPendingMigrationsRunner"子类中也存在引用的EntityFramework组装.

有谁知道什么可能导致错误?迁移适用于MVC4.0上的另一个项目,我选择了标准(非空)项目模板.

谢谢!

Rya*_*vis 6

通过右键单击包含我的迁移的类库并选择"设置为启动项目",我能够修复此错误

来源:http://forums.asp.net/t/1978562.aspx?获取+exception+while+running+EF+Migrations+command+in+Package+Manager+Console


Gar*_*ill 3

在尝试在解决方案中启用迁移时,我遇到了同样的错误,其中一些项目针对 .NET 4.5(因此使用 EF 5),一些项目针对 .NET 4(因此使用 EF 4.4)。它似乎试图加载错误版本的 EF DLL。

当我暂时从解决方案中卸载 .NET 4.5 项目时,我可以在其他项目中成功使用 Enable-Migrations。

  • 您不需要卸载项目 - 更改 Visual Studio 中的“启动项目”就足够了。 (3认同)