首页 > 解决方案 > 为什么我在 .NET 中运行“Add-Migration InitialCreate”时遇到错误?

问题描述

我有一个使用 Asp.net MVC 和 .NET core 3.1 构建的应用程序。我已经创建了模型、数据库上下文类和控制器。当我尝试在包管理器命令行中运行命令时: Add-Migration InitialCreate 我收到以下错误:

System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.TypeLoadException:无法从程序集“Microsoft.EntityFrameworkCore,Version=5.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.EntityFrameworkCore.Internal.SemanticVersionComparer”。在 Microsoft.EntityFrameworkCore.Design.OperationExecutor..ctor(IOperationReportHandler reportHandler, IDictionary args) --- 内部异常堆栈跟踪结束 --- 在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor , Boolean wrapExceptions) 在 System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfoculture) 在 System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,

我听说这可能与 Microsoft.EntityFrameworkCore.Design 包有关,并且它需要更新到版本 3.0.0。只是想知道这个更改需要在哪个文件中进行,以及需要添加哪些必要的代码。

标签: c#.netentity-framework-coremigration

解决方案


对齐 EntityFrameworkCore 的 Nuget 包的版本号。对于设计,您使用5.0.0 (Ms.EntityFrameworkCore.Design),对于 Sqlite,您使用3.1.10 (Ms.EntityFrameworkCore.Sqlite),对于工具 3.1.10,对于SqlServer,它再次是 5.0.0。

  1. 使其统一
  2. 恢复包
  3. 清理,构建解决方案/项目

推荐阅读