面向 C# 初學者的完整教程

🧱 一、項目結構說明

你的項目大致結構如下:

TaskManager/
├── backend/
│   ├── TaskManager.Core/           // 實體類和接口
│   ├── TaskManager.Infrastructure/ // 數據庫、服務實現
│   └── TaskManager.API/            // Web API 入口(控制器 + Program.cs)
└── frontend/                       // React/Next.js 前端

? 二、安裝依賴項

你需要先確保 .NET SDK 已安裝:

1. 檢查 .NET SDK 是否安裝

dotnet --version

如果沒有,請去官網下載并安裝:https://dotnet.microsoft.com/en-us/download


2. 安裝 Entity Framework Core 相關包(在項目目錄執行)

# 進入 Infrastructure 項目目錄
cd TaskManager.Infrastructure# 安裝數據庫相關包(你使用的是 SQL Server)
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet add package BCrypt.Net-Next     # 用戶密碼加密# 如果你有 API 項目也需使用 EF Core 工具支持遷移
cd ../TaskManager.API
dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer

🛠? 三、構建項目

1. 回到根目錄構建整個項目解決方案

cd D:\Users\gento\RiderProjects\TaskManager\backend
dotnet build

如果你已經在用 Rider 或 Visual Studio,也可以直接點擊“Build”按鈕。


🚀 四、數據庫遷移與更新

你需要先根據實體類生成數據庫表:

1. 創建數據庫遷移(注意指定項目)

cd TaskManager.API
dotnet ef migrations add InitialCreate --project ../TaskManager.Infrastructure

2. 執行遷移,更新數據庫

dotnet ef database update --project ../TaskManager.Infrastructure

🏃 五、運行 API 項目

運行 TaskManager.API 項目:

cd ../TaskManager.API
dotnet run

運行后你會看到:

Now listening on: http://localhost:5201

你可以用 Postman 或瀏覽器訪問接口,例如:

  • http://localhost:5201/api/tasks
  • http://localhost:5201/api/auth/register

🧪 六、常見問題速查

問題解決方法
localStorage 報錯typeof window !== 'undefined' 判斷是否在瀏覽器環境
Token 報 401檢查是否正確設置 Bearer 頭、是否數據庫已更新并包含用戶表
EF 報 Invalid object name是數據庫中表未創建成功,請重新執行遷移或檢查連接字符串
DLL 被鎖定,編譯失敗關閉正在運行的 API(任務管理器或 Ctrl+C),然后重試構建

📌 七、建議的開發流程

  1. 每次修改實體類后,執行一次遷移:dotnet ef migrations add ...
  2. 每次遷移后更新數據庫:dotnet ef database update
  3. 如果構建失敗先 dotnet clean,然后 dotnet build
  4. 本地調試:先運行后端,再啟動前端(Next.js)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78597.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78597.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78597.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Axios 的 GET 和 POST 請求:前端開發中的 HTTP 通信

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

【前端】如何檢查內存泄漏

在實際的場景中,如果觀察到內存持續出現峰值,并且內存消耗一直沒有減少,那可能存在內存泄漏。 使用 Chrome DevTools 來識別內存圖和一些內存泄漏,我們需要關注以下兩個方面: ● 使用性能分析器可視化內存消耗&#xf…

JavaScript的JSON處理Map的弊端

直接使用 Map 會遇到的問題及解決方案 直接使用 Map 會導致數據丟失,因為 JSON.stringify 無法序列化 Map。以下是詳細分析及解決方法: 問題復現 // 示例代碼 const myMap new Map(); myMap.set(user1, { name: Alice }); myMap.set(user2, { name: B…

【數據結構】第五彈——Stack 和 Queue

文章目錄 一. 棧(Stack)1.1 概念1.2 棧的使用1.3 棧的模擬實現1.3.1 順序表結構1.3.2 進棧 壓棧1.3.3 刪除棧頂元素1.3.4 獲取棧頂元素1.3.5 自定義異常 1.4 棧的應用場景1.改變元素序列2. 將遞歸轉化為循環3. 四道習題 1.5 概念分區 二. 隊列(Queue)2.1 概念2.2 隊列的使用2.3…

第七屆能源系統與電氣電力國際學術會議(ICESEP 2025)

重要信息 時間:2025年6月20-22日 地點:中國-武漢 官網:www.icesep.net 主題 能源系統 節能技術、能源存儲技術、可再生能源、熱能與動力工程 、能源工程、可再生能源技術和系統、風力發…

深入解析C++ STL Stack:后進先出的數據結構

一、引言 在計算機科學中,棧(Stack)作為一種遵循后進先出(LIFO)?原則的數據結構,是算法設計和程序開發的基礎構件。C STL中的stack容器適配器以簡潔的接口封裝了底層容器的操作,為開發者提供了…

Golang | 自行實現并發安全的Map

核心思路,讀寫map之前加鎖!哈希思路,大map化分為很多個小map

Mac 「brew」快速安裝MySQL

安裝MySQL 在 macOS 上安裝 MySQL 環境可以通過Homebrew快速實現,以下是步驟指南: 方法 1:使用 Homebrew 安裝 MySQL 1. 安裝 Homebrew 如果尚未安裝 Homebrew,可以通過以下命令安裝: /bin/bash -c "$(curl -…

【數字孿生世界的搭建之旅:從0到1理解飛渡平臺】

數字孿生世界的搭建之旅:從0到1理解飛渡平臺 前言:數字分身的魔法 想象一下,如果你能在現實世界之外,創造一個物理世界的"分身",這個分身能完美復制現實中的一切變化,甚至可以預測未來可能發生…

【漏洞復現】Struts2系列

【漏洞復現】Struts2系列 1. 了解Struts21. Struts2 S2-061 RCE (CVE-2020-17530)1. 漏洞描述2. 影響版本3. 復現過程 1. 了解Struts2 Apache Struts2是一個基于MVC設計模式的Web應用框架,會對某些標簽屬性(比如 id)的…

[FPGA Video IP] Video Processing Subsystem

Xilinx Video Processing Subsystem IP (PG231) 詳細介紹 概述 Xilinx LogiCORE? IP Video Processing Subsystem (VPSS)(PG231)是一個高度可配置的視頻處理模塊,設計用于在單一 IP 核中集成多種視頻處理功能,包括縮放&#xf…

自動駕駛(ADAS)功能--相關名稱及縮寫

根據《道路車輛先進駕駛輔助系統(ADAS)術語及定義》GB/T 39263—2020,如下表格: 編號中文術語英文縮寫定義類別2.1.1先進駕駛輔助系統ADAS利用傳感、通信、決策及執行等裝置,實時監測駕駛員、車輛及行駛環境&#xff…

1.9軟考系統架構設計師:優秀架構設計師 - 超簡記憶要點、知識體系全解、考點深度解析、真題訓練附答案及解析

超簡記憶要點 1. 優秀架構師標準 ? 技術(深度/廣度) 實戰(大型項目) 素養(溝通/業務前瞻) 2. 演化路徑 📈 積累(技術/項目) → 思維(系統視角/抽象建模&…

(MySQL)庫的操作

目錄 創建數據庫 語法 創建數據庫實例 不使用可選項 使用可選項1 字符集和校驗規則 校驗規則對數據庫的影響 不區分大小寫 查看配置 添加可選項2 操縱數據庫 使用數據庫 查看數據庫 查看所有數據庫 查詢當前正在使用的數據庫名稱 顯示創建數據庫語句 修改數據庫…

10.ArkUI Grid的介紹和使用

ArkUI Grid 組件詳解與使用指南 Grid 是 ArkUI 中用于實現網格布局的容器組件,能夠以行和列的形式排列子組件。以下是 Grid 組件的詳細介紹和使用方法。 基本介紹 Grid 組件特點: 支持固定列數和自適應布局提供靈活的間距和排列控制支持滾動顯示大量…

目標檢測原理簡介

目標檢測是一類計算機視覺任務,簡單來說,目標檢測可被定義為在計算機中輸入一張圖像,計算機需要找出圖像中所有感興趣的目標(物體),確定它們的類別和位置,如圖一所示。目標檢測是計算機視覺領域的核心問題之一,相較于最原始的將整張圖片分類為某一類別,目標檢測不光可…

ZYNQ筆記(十四):基于 BRAM 的 PS、PL 數據交互

版本:Vivado2020.2(Vitis) 實驗任務: PS 將字符串數據寫入BRAM,再將數據讀取出來;PL 從 BRAM 中讀取數據,bing。通過 ILA 來觀察讀出的數據,與前面串口打印的數據進行對照&#xff0…

Python-Django系列—部件

部件是 Django 對 HTML 輸入元素的表示。部件處理 HTML 的渲染&#xff0c;以及從對應于部件的 GET&#xff0f;POST 字典中提取數據。 內置部件生成的 HTML 使用 HTML5 語法&#xff0c;目標是 <!DOCTYPE html>。例如&#xff0c;它使用布爾屬性&#xff0c;如 checked…

【Leetcode 每日一題】2799. 統計完全子數組的數目

問題背景 給你一個由 正 整數組成的數組 n u m s nums nums。 如果數組中的某個子數組滿足下述條件&#xff0c;則稱之為 完全子數組 &#xff1a; 子數組中 不同 元素的數目等于整個數組不同元素的數目。 返回數組中 完全子數組 的數目。 子數組 是數組中的一個連續非空序…

卷積神經網絡(二)

1 卷積運算的兩個問題&#xff1a; 1.1 圖像邊緣信息使用少 邊緣的像素點可能只會被用一次或者2次&#xff0c;中間的會用的更多。 1.2 圖像被壓縮 5*5的圖像&#xff0c;如果經過3*3的卷積核后&#xff0c;大小變成3*3的。 N*N的圖像&#xff0c;果經過F*F的卷積核后&#x…