面向 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),然后重试构建 |
📌 七、建议的开发流程
- 每次修改实体类后,执行一次迁移:
dotnet ef migrations add ...
- 每次迁移后更新数据库:
dotnet ef database update
- 如果构建失败先
dotnet clean
,然后dotnet build
- 本地调试:先运行后端,再启动前端(Next.js)