🧱 一、項目結構說明
你的項目大致結構如下:
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),然后重試構建 |
📌 七、建議的開發流程
- 每次修改實體類后,執行一次遷移:
dotnet ef migrations add ...
- 每次遷移后更新數據庫:
dotnet ef database update
- 如果構建失敗先
dotnet clean
,然后dotnet build
- 本地調試:先運行后端,再啟動前端(Next.js)