【发布时间】:2019-05-02 11:23:49
【问题描述】:
我无法运行我的迁移 - 这很烦人,因为我无法继续我的项目...
我认为这一定是 ef 工具 的原因,因为一段时间前(一个月)该项目中的迁移工作了。
Add-Migration 命令成功运行,但随后的Update-Database 失败并出现以下错误:
Applying migration '20181129154443_strlen'.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Runtime.Remoting.RemotingException:
Cannot load type
'Microsoft.EntityFrameworkCore.Design.IOperationResultHandler,
Microsoft.EntityFrameworkCore.Design, Version=2.1.4.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
一些可能相关的信息:
- 解决方案中的所有项目都依赖于相同的包(即。 Microsoft.EntityFrameworkCore.Design,版本=2.1.4.0 等)
- 包含 DbContext 的项目正在使用 包引用样式 而不是 packages.config(不要问我为什么)
- 启动项目使用经典 packages.config
- 解决方案中的所有项目都针对 .NET framework 4.7.2
- 整个解决方案构建和运行都很好(当我删除挂起的迁移时)
- Add-Migration 命令可以正常工作(生成迁移代码文件,发生任何类型的更改(无论我是更改列名还是添加索引))
- 我已安装所有 .NET Core 工具(sdk、运行时)版本
有类似的问题(未回答): EF core migration failed: System.Runtime.Remoting.RemotingException: Cannot load type 'Microsoft.EntityFrameworkCore.Design.IOperationResultHandler 但是那里的所有建议都没有帮助我。
我尝试过的:
- 重启 VisualStudio,清理 .vs
- 清除所有 NugetCache,删除包文件夹
- 删除 bin/obj 文件夹
- 重启电脑
- 已检查的 NetCore sdk 版本和运行时版本
【问题讨论】:
-
你有解决办法吗?
-
@AsifulNobel 我的最终解决方案是将整个项目移植到 .net 核心并将所有 efcore nugets 升级到 v2.2.2... 之后它工作...
标签: .net visual-studio-2017 entity-framework-core entity-framework-migrations