zoukankan      html  css  js  c++  java
  • Net Core Add-Migration Build failed.最全解决排查方案

    Migration 常用命令
    • Add-Migration Init                           --其中Init是你的版本名称
    • update-database Init                       --更新数据库操作 init为版本名称
    • Add-Migration EditPwdLength       --同上,不在解释
    • update-database EditPwdLength
    • script-migration                               --生成脚本
    • remove-migration                            --删除最新创建的迁移,add-migration后,还没有update-database时候可以使用,updata后不可使用

    migration数据迁移非常的简单,大家在学习的时候,如果只有一个项目,实际上迁移是相对非常顺利的,坑是当你在生产环境中,项目越来越多,比如微服务有10几个项目的时候,就会遇到Build failed.的情况;

    遇到异常 add-migration Build failed 解决办法
    1. 检查项目是否是启动项(这里有个坑:如果项目使用了DDD,生成要选中Project.Infrastructure,就是我们包含DBContext的类库,而非Project.API 
    2. 检查整个解决方案是否可以编译通过
    3. 上述不行,把其他项目卸载试试
    4. 首先一定要执行dotnet restore 查看网站的依赖关系
    5. 如果生成解决方案出现生成成功,但是编译跳过N个项目这种也不行,要么排除掉该生产失败的项目

    遇到 “无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。”错误的排查思路,说明目前没有找到Microsoft.EntityFrameworkCore.Tools工具包,可以使用以下2种方案来修复:

    方案一:

            执行命令一:Import-Module C:Users{用户名}.nugetpackagesmicrosoft.entityframeworkcore.tools{core版本} oolsEntityFrameworkCore.psd1
            执行命令二:Get-Verb
     
    方案二:
           Install-Package Microsoft.EntityFrameworkCore.Tools  安装工具包(我喜欢使用这种方案)
     
    遇到“Method 'get_Info' in type 'MySql.Data.EntityFrameworkCore.Infraestructure.MySQLOptionsExtension' from assembly 'MySql.Data.EntityFrameworkCore, Version=8.0.18.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' does not have an implementation.”的解决方案
     
    目前是因为MySql.Data.EntityFrameworkCore 8.0.18.0驱动包不支持Net Core3.1版本;使用Pomelo.EntityFrameworkCore.MySql即可
  • 相关阅读:
    常见 PL.SQL 数据库操作
    PL/SQL常见设置--Kevin的专栏
    pl/sql编程
    添加List集合覆盖问题
    程序猿感情生活的那些事
    表达式树-理解与进阶
    白话神经网络
    EF Core 数据验证
    c#8内插逐字字符串增强功能
    我的新博客
  • 原文地址:https://www.cnblogs.com/TSir/p/12152392.html
Copyright © 2011-2022 走看看