【问题标题】:EF-Core Update-Database command fails (cannot load type from Microsoft.EntityFramework.Design 2.1.4.0)EF-Core Update-Database 命令失败(无法从 Microsoft.EntityFramework.Design 2.1.4.0 加载类型)
【发布时间】: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 但是那里的所有建议都没有帮助我。

我尝试过的:

  1. 重启 VisualStudio,清理 .vs
  2. 清除所有 NugetCache,删除包文件夹
  3. 删除 bin/obj 文件夹
  4. 重启电脑
  5. 已检查的 NetCore sdk 版本和运行时版本

【问题讨论】:

  • 你有解决办法吗?
  • @AsifulNobel 我的最终解决方案是将整个项目移植到 .net 核心并将所有 efcore nugets 升级到 v2.2.2... 之后它工作...

标签: .net visual-studio-2017 entity-framework-core entity-framework-migrations


【解决方案1】:

我的解决方案是将解决方案中的所有项目从 4.7.2 转换为 .NET Core 2.2。 (所有 NuGet(EFCore、EFCore.Design)也升级到 v2.2.2)。之后,迁移开始起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2017-08-29
    • 2018-08-31
    • 2021-02-17
    • 2023-03-08
    • 2021-10-07
    • 1970-01-01
    相关资源
    最近更新 更多