c# - 为什么我在 .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。只是想知道这个更改需要在哪个文件中进行,以及需要添加哪些必要的代码。
解决方案
对齐 EntityFrameworkCore 的 Nuget 包的版本号。对于设计,您使用5.0.0 (Ms.EntityFrameworkCore.Design),对于 Sqlite,您使用3.1.10 (Ms.EntityFrameworkCore.Sqlite),对于工具 3.1.10,对于SqlServer,它再次是 5.0.0。
- 使其统一
- 恢复包
- 清理,构建解决方案/项目
推荐阅读
- java - Embedded H2 Giving java.lang.IllegalStateException:文件被锁定:nio:/tmp/h2tmp.680671858.1.temp.db [1.4.200/7]
- generics - 跨枚举变体的通用实现
- r - 一起使用 dplyr rename_at 和 stringr str_replace 重命名列时出错
- javascript - Javascript显示除指定索引之外的所有数组元素
- powerbi - 按基于多个其他列的列分组 - Power Query
- azure-data-factory - 我正在尝试使用 Azure 资源管理器模板部署 Azure 数据工厂服务,但收到错误请求内容无效
- laravel - 在获取问题 laravel5.5 的视图页面中为 foreach() 提供的参数无效
- javascript - 如果高度小于 1dp,作为分隔线(或边框)的视图将被剪切 - React Native
- java - Spring Boot 应用程序无法通过 weblogic 中的 jndi 获得连接
- php - 结帐页面前的警告