我给你整理最核心、最常用、必须掌握的 .NET Core 基础知识,不啰嗦、直接上手,适合学习阶段快速掌握。
一、先搞懂:.NET Core 是什么?
- 跨平台:能跑在 Windows、Linux、macOS
- 开源免费:微软官方维护,无版权问题
- 轻量高性能:比传统 .NET Framework 快很多
- 统一框架:现在叫 .NET 6/7/8,本质就是新一代 .NET Core
简单记:它是一个用来做网站、API、桌面软件、微服务的跨平台开发框架。
二、必备开发环境
你只需要装两个东西:
- .NET SDK(运行+编译项目)
- 编辑器
- 推荐:Visual Studio 2022(社区版免费)
- 轻量:VS Code + C# 插件
常用命令(必背):
dotnet new console # 创建控制台项目
dotnet new webapi # 创建WebAPI项目
dotnet run # 运行项目
dotnet build # 编译
三、.NET Core 项目结构(最重要)
以 .NET 6/7/8 WebAPI 为例:
你的项目/
├── appsettings.json # 配置文件(数据库、端口等)
├── Program.cs # 项目入口(唯一核心文件)
├── Controllers/ # 控制器(写接口)
├── Models/ # 数据模型
└── bin/obj/ # 编译文件(不用管)
✔ Program.cs 是灵魂
.NET 6 以后简化到极致,所有配置都在这里:
var builder = WebApplication.CreateBuilder(args);
// 1. 添加服务:控制器、Swagger、数据库、注入等
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
// 2. 配置中间件:Swagger、路由、异常等
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.MapControllers();
app.Run();
四、四大核心知识点(必须会)
1. 依赖注入(DI)——.NET Core 的灵魂
不用自己 new 对象,框架自动帮你创建。
三步使用:
- 写服务类
- 在 Program.cs 注册
builder.Services.AddScoped<我的服务>(); - 在控制器构造函数直接用
作用:解耦、方便测试、规范代码。
2. 配置系统 appsettings.json
存放所有配置:数据库、端口、JWT密钥等。
{
"ConnectionStrings": {
"Default": "Server=.;Database=Test;Uid=sa;Pwd=123"
},
"Jwt": {
"Secret": "123456"
}
}
通过 IConfiguration 读取。
3. 中间件 Middleware
HTTP 请求管道,像流水线一样处理请求。
常用中间件:
- UseSwagger(接口文档)
- UseCors(跨域)
- UseAuthentication(认证)
- UseAuthorization(授权)
4. Web API 基础(最常用)
一个最简单的 API 接口:
[ApiController]
[Route("api/[controller]")]
public class TestController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return Ok("Hello .NET Core");
}
}
[HttpGet]/[HttpPost]:请求方式Route:路由地址Ok()/NotFound():返回状态
五、数据库操作 EF Core
.NET Core 官方 ORM 框架,操作数据库不用写 SQL。
步骤:
- 安装 NuGet 包
- 写 DbContext
- 写实体类 Model
- 执行迁移命令生成表
Add-Migration 初始化 Update-Database
六、日志 Logging
自带日志,不用额外安装:
private readonly ILogger<TestController> _logger;
public TestController(ILogger<TestController> logger)
{
_logger = logger;
}
// 使用
_logger.LogInformation("请求成功");
七、环境区分
- Development:开发环境
- Production:生产环境
在代码里可以判断:
if (app.Environment.IsDevelopment()) { ... }
最简单的学习路线(只学重点)
- 会建项目、运行、看 Swagger
- 看懂 Program.cs
- 会写 API 接口
- 会用依赖注入
- 会读配置、写日志
- 会用 EF Core 操作数据库
总结
- Program.cs = 项目入口
- DI 依赖注入 = 核心机制
- 中间件 = 请求管道
- Web API = 最常用开发方式
- EF Core = 数据库操作
- appsettings.json = 配置文件