1. .NET 生态与开发环境搭建:.NET 发展史、.NET 6/7/8 版本差异、SDK 安装、VS 2022 / VS Code 配置、创建第一个 Web API 项目
1.1 .NET 发展史:从 .NET Framework 到 .NET 8
聊 .NET 生态,得先说说它的「前世今生」。
2002 年,微软推出了 .NET Framework。那时候 Windows 是绝对的主角,.NET Framework 也只能跑在 Windows 上。我记得刚入行那会儿,公司项目全是 .NET Framework 4.x,部署到 IIS 上,一切都很「微软」。但问题也明显——跨平台?不存在的。你想在 Linux 上跑?门都没有。
转折点在 2014 年。微软宣布 .NET Core 开源,并且跨平台。说实话,当时我挺兴奋的,但也有些忐忑——毕竟从 Framework 迁移到 Core,工作量不小。后来 .NET Core 1.0、2.0、3.0 一路迭代,到 2020 年,微软干脆把 .NET Core 3.1 之后直接叫 .NET 5,跳过了 4.x 版本号,意思很明确:.NET 统一了。
到了 .NET 6(2021 年 LTS),它真正做到了「一个平台,所有场景」。你可以在 Windows、Linux、macOS 上开发,也能写 Web、桌面、移动、云原生、IoT 应用。.NET 7 是短期支持版本,性能提升明显。.NET 8(2023 年 LTS)则是目前最新的稳定版,性能更强,AOT 编译更成熟。
一句话总结:.NET Framework 是「老大哥」,.NET Core 是「破局者」,.NET 6/7/8 是「统一体」。现在新项目,我建议直接用 .NET 8。
1.2 .NET 6/7/8 版本差异:选哪个?
很多新手会问:「我该装哪个版本?」
嗯,这个问题其实不难。我列个表,你一看就明白。
| 特性 | .NET 6 (LTS) | .NET 7 (STS) | .NET 8 (LTS) |
|---|---|---|---|
| 支持周期 | 3 年(至 2024.11) | 18 个月(已过期) | 3 年(至 2026.11) |
| 性能 | 优秀 | 更优(+10~20%) | 最优(+20~30%) |
| AOT 编译 | 实验性 | 改进 | 生产就绪 |
| 最小 API | 引入 | 增强 | 成熟 |
| 容器支持 | 好 | 更好 | 最佳 |
我个人习惯是:生产环境用 LTS 版本。.NET 6 虽然还在支持期内,但 .NET 8 已经发布一年多了,生态很成熟。.NET 7 是短期支持版,现在已经过期了,不建议再用。
我的建议:新项目直接上 .NET 8。如果你维护老项目,.NET 6 也完全够用。别纠结版本,关键是先把项目跑起来。
1.3 SDK 安装:别踩这些坑
安装 SDK 其实很简单,但有几个细节要注意。
首先,去 dotnet.microsoft.com/download 下载对应系统的 SDK。Windows 用户选 x64 安装包,macOS 用户选 arm64(M 芯片)或 x64(Intel),Linux 用户用包管理器或手动安装。
安装完成后,打开终端(CMD、PowerShell 或 bash),输入:
dotnet --version
如果看到类似 8.0.4xx 的输出,说明安装成功。
我曾经遇到过一个问题:装了 SDK 但命令行找不到 dotnet 命令。后来发现是环境变量没配好。Windows 上,SDK 默认安装在 C:\Program Files\dotnet,确保这个路径在 PATH 环境变量里。
避坑指南:不要同时安装多个大版本的 SDK(比如 .NET 6 和 .NET 8 都装),容易导致项目目标框架混乱。我一般只装最新的 LTS 版本,再加一个预览版用于尝鲜。
1.4 VS 2022 / VS Code 配置:选哪个?
这个问题我经常被问到。我的回答是:看场景。
Visual Studio 2022 是 Windows 上的「重型武器」。它集成了调试器、性能分析器、数据库工具、测试工具……几乎你能想到的都有。如果你做企业级项目,或者需要频繁调试、重构,VS 2022 是首选。
安装时记得勾选「ASP.NET 和 Web 开发」工作负载。如果你要做桌面开发,再加「.NET 桌面开发」。
VS Code 则是「轻骑兵」。它跨平台、启动快、插件丰富。我平时写小项目、写脚本、或者远程开发时,都用 VS Code。配上 C# Dev Kit 插件,体验已经很接近 VS 了。
配置 VS Code 的步骤:
- 安装 VS Code(废话)
- 安装 C# Dev Kit 插件(微软官方出品)
- 安装 .NET SDK(前面已经装了)
- 打开终端,试试
dotnet new webapi能不能跑
我的习惯:Windows 上用 VS 2022 做主力,macOS 或 Linux 上用 VS Code。两者不冲突,你甚至可以同时用——在 VS 里写代码,在 VS Code 里看文档。
1.5 创建第一个 Web API 项目
好了,环境搭好了,咱们来创建第一个项目。
打开终端,进入你想放项目的目录,然后输入:
dotnet new webapi -n MyFirstApi
cd MyFirstApi
dotnet run
你会看到类似这样的输出:
Building...
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
打开浏览器,访问 http://localhost:5000,如果看到 Hello World! 或者一个 JSON 响应,恭喜你,第一个 Web API 跑起来了!
项目结构长这样:
MyFirstApi/
├── Program.cs # 入口文件
├── Properties/
│ └── launchSettings.json # 启动配置
├── appsettings.json # 配置文件
├── appsettings.Development.json
└── MyFirstApi.csproj # 项目文件
在 Program.cs 里,你会看到类似这样的代码:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
这就是 .NET 6+ 的最小 API 风格。简洁吧?
注意:如果你用的是 .NET 8,默认会生成一个带 Swagger 的模板。访问 http://localhost:5000/swagger 就能看到 API 文档页面。这个功能在开发阶段非常实用。
嗯,到这里,你的开发环境就搭建好了。下一章我们会深入 Web API 的核心概念——路由、控制器、依赖注入。别急,一步步来。