确保您使用 NuGet 包管理器在所有项目中使用相同版本的实体框架。
最近的 Windows 更新可能已将较新版本的 Entity Framework 安装到您的活动项目中。
背景:
2016 年 3 月 16 日左右,我在尝试将迁移添加到我已经启用迁移并成功完成迁移的项目时开始收到此错误。
我注意到在 3 月 10 日左右,Entity Framework 6 的新稳定版本已经发布。
如果我在 enable-migrations 命令中指定了 -ContextTypeName 参数,则会收到错误消息,表明迁移已启用。
分辨率:
1) 工具 -> Nuget 包管理器 -> 管理用于解决方案的 Nuget 包
2)(不确定这一步是否必要,但是..)我将 Nuget 包管理器的版本更新到了最新版本。此外,在更新我的 Nuget 包管理器版本后,我必须重新启动 Visual Studio 两次,然后 NuGet 命令行才能正常工作。
3) 工具 -> Nuget 包管理器 -> 管理解决方案的 Nuget 包 -> 搜索已安装的包 -> 键入实体框架
一个。您可能会在那里看到多个版本的 Entity Framework。
b.在每个版本的 Entity Framework 上单击 Manage,并确保您的项目使用相同版本的 Entity Framework。
- 取消选中您未使用的 Entity Framework 版本,并为您正在使用的 Entity Framework 版本确保在需要它的项目中对其进行检查。
再次,如步骤 2 中所述,在更新我的 NuGet 包管理器版本后,我必须重新启动 Visual Studio 两次才能使 NuGet 包管理器控制台正常工作。我第一次启动控制台时出错,并且
“在第二次运行 enable-migrations 命令时,使用 8 个参数调用 createinstancefrom 的异常无法加载文件或程序集 EntityFramework”。
不过,重新启动 Visual Studio 似乎可以解决这些问题。