EFCore-腳手架Scaffold發生Build Failed問題的終極解決

来源:https://www.cnblogs.com/cdoneiX/archive/2020/01/27/12236970.html
-Advertisement-
Play Games

大家在使用EntityFrameworkCore的DBFirst的腳手架(Scaffolding)時應該遇到過Build Failed的錯誤,而沒有任何提示,我也遇到過不少次,目前已經完美解決並將排查方法分享給大家: (1)對於要使用腳手架的項目,首先要確保項目是可以正常編譯運行的,在VisualS ...


大家在使用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>

或者在“項目屬性 > 生成 > 高級 > 語言版本”中設置即可


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2. 金融股票數據的另一個形態,怎樣在業務內部流動,同時怎樣避免錯誤 前一篇講解了股票的原始狀態,那麼在業務過程中,數據會變成怎樣的形態,來完成眾多奇奇怪怪的業務呢,以下將會解答。 首先,任何股票都有機會停市,退市。或者退市了再二次上市。 例子,阿裡爸爸(9988.HK)在港交所二次上市。 再例如, ...
  • SQL性能下降的原因 查詢語句寫的不好 索引失效 關聯查詢太多 伺服器調優及各個參數的的設置(緩衝、線程數等等) 常見的JOIN查詢 1、SQL的執行順序 手寫的順序: 真正機器執行的順序: 2、七種join查詢 最後兩種語法mysql不支持,但是我們可以用union來聯合其他的查詢結果來拼湊出最終 ...
  • 咳咳,這個是為了趕量 需要註意的就是輸入方式,別的也沒什麼難點 Problem Description Ignatius likes to write words in reverse way. Given a single line of text which is written by Igna ...
  • 1 引言 眾所周知,模塊化編程具備很多優點,尤其在複雜項目上體現更為明顯。Python模塊化編程有助於開發者統籌兼顧和分工協作,並提升代碼靈活性和可維護性,是編程開發者不可或缺的一項重要工具。 2 Python模塊 在平時Python編程中,我們所保存的以.py為尾碼的代碼文件(如hello.py) ...
  • import sys from qdarkstyle import load_stylesheet_pyqt5 from PyQt5.QtWidgets import QApplication, QTableView from PyQt5.QtCore import QAbstractTableMo ...
  • 本地127.0.0.1可以訪問到nginx,外網ip無法訪問 解決方法:1,關閉firewall防火牆(系統自帶):service firewalld stop<不推薦>。2,開發某個埠:firewall-cmd --permanent --add-port=80/tcp: <註意重啟才能生效:f... ...
  • pygame 快速入門 目標 1. 項目準備 2. 使用 創建圖形視窗 3. 理解 圖像 並實現圖像繪製 4. 理解 游戲迴圈 和 游戲時鐘 5. 理解 精靈 和 精靈組 項目準備 1. 新建 飛機大戰 項目 2. 新建一個 3. 導入 游戲素材圖片 游戲的第一印象 把一些 靜止的圖像 繪製到 游戲 ...
  • 一、結構(Struct)是CTS中五種基本類型之一,是一種值類型,同樣封裝了同屬一個邏輯單元的數據和行為,這些數據和行為通過結構中的成員表示;結構與類共用大多數相同的語法,但結構比類受到的限制更多,結構適用於表示輕量級類型;使用struct關鍵字定義結構: //定義一個公共結構MyStruct pu ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...