zoukankan      html  css  js  c++  java
  • EFCore-脚手架Scaffold发生Build Failed问题的终极解决

    大家在使用EntityFrameworkCore的DBFirst的脚手架(Scaffolding)时应该遇到过Build Failed的错误,而没有任何提示,我也遇到过不少次,目前已经完美解决并将排查方法分享给大家:

    (1)对于要使用脚手架的项目,首先要确保项目是可以正常编译运行的,在VisualStudio中Ctrl+Shift+B进行编译,如果报错,则要先处理好。

    (2)确保引用的EntityFrameWork相关包完整、正确,以下是我使用的版本:

      Microsoft.EntityFrameworkCore.Design(2.1.8)

      Microsoft.EntityFrameworkCore.Tools(2.1.8)

      Microsoft.EntityFrameworkCore.SqlServer(2.1.8)

    (3)开启脚手架命令行运行的错误提示,以便我们查找问题:

      dotnet ef dbcontext scaffold "连接字符串" Microsoft.EntityFrameworkCore.SqlServer -o Model -c DefaultContext -f -v

           命令最后的-v就是打开错误提示,命令行运行时如果发现错误则会提示

    (4)我遇到的错误原因:

      1、项目之间相互依赖导致的问题,可以试试取消相互之间的引用再运行

           2、提示“C# 7.0 中不支持功能“默认文本”。请使用 7.1 或更高的语言版本。”,可能是因为你的解决方案里出现了不同版本的.Net(比如.NetStandard和.NetFramework共同出现在同一个解决方案下)。这时只需要在项目文件中增加配置项即可解决:
      <PropertyGroup>
        <LangVersion>latest</LangVersion>
      </PropertyGroup>

    或者在“项目属性 > 生成 > 高级 > 语言版本”中设置即可

    原文链接:https://www.cnblogs.com/cdoneiX/archive/2020/01/27/12236970.html

    世界再大也有尽头!
  • 相关阅读:
    C#多线程编程实战1.5检测线程状态
    C#多线程编程实战1.4终止线程
    C#多线程编程实战1.3等待线程
    C#多线程编程实战1.2暂停线程(休眠)
    C#多线程编程实战1.1创建线程
    C#中base的作用
    C#继承
    C#中return的两个作用
    Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows
    执行gulp build报错
  • 原文地址:https://www.cnblogs.com/shijiehaiyang/p/14278026.html
Copyright © 2011-2022 走看看