EF-Core Update-Database命令失败(无法从Microsoft.EntityFramework.Design 2.1.4.0加载类型)

问题描述 投票:1回答:1

我无法运行我的迁移 - 这非常烦人,因为我无法继续我的项目......

我认为它必须与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,Version = 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. 清除所有NugetCaches,删除包文件夹
  3. 删除bin / obj文件夹
  4. 重启电脑
  5. 检查Net Core sdk和运行时版本的版本
.net visual-studio-2017 entity-framework-core ef-migrations
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.