1. ASP.NET Core 初探:什么是ASP.NET Core、为什么选择它、开发环境搭建

各位同学,欢迎来到第一节课。

说实话,每次带新人入门,我都要先问一个问题:你为什么要学ASP.NET Core? 如果只是为了找个工作,那路走不远。但如果你想知道「为什么微软这套东西能跑十几年还这么能打」,那咱们就聊到一块儿了。

1.1 什么是ASP.NET Core?

简单说,ASP.NET Core 是微软推出的跨平台、高性能、开源的 Web 框架。你可以用它来写 Web API、Web 应用、甚至微服务。

它跟老版的 ASP.NET 不一样。老版只能跑在 Windows 上,像被绑在椅子上。而 Core 是自由的——Windows、Linux、macOS,随便跑。

我记得2016年刚接触 Core 1.0 的时候,心里还犯嘀咕:「这玩意儿能行吗?」后来在项目中试了一把,发现启动速度比老版快了好几倍,内存占用也低。嗯,从那以后我就再也没回头写过老版 ASP.NET。

一句话总结:ASP.NET Core 是微软重新设计的 Web 框架,轻量、模块化、跨平台。

1.2 为什么选择ASP.NET Core?

你可能会问:「市面上有 Node.js、有 Spring Boot、有 Django,我凭什么选你微软家的?」

这个问题我当年也问过自己。后来在实际项目中,我慢慢找到了答案。

1.2.1 性能是真的能打

TechEmpower 的基准测试里,ASP.NET Core 常年排在前几名。说白了,它处理请求的速度非常快。我在一个高并发的项目中,用 Core 写的 API 扛住了每秒上万次的请求,CPU 占用才 30% 左右。换成别的框架,可能早就报警了。

1.2.2 跨平台,真香

以前做 .NET 开发,服务器必须买 Windows 授权,成本高。现在你可以在 Linux 上部署,用 Docker 容器跑,甚至用免费的 Ubuntu 服务器。我有个项目直接部署在阿里云的 CentOS 上,一分钱 Windows 授权费都没花。

1.2.3 生态成熟,社区活跃

NuGet 上有几十万个包,你要的功能基本都能找到。而且微软官方维护得非常好,每个版本都有详细的升级指南。我个人习惯是每半年更新一次 SDK,基本没出过大问题。

1.2.4 开发体验好

VS Code 配合 C# 插件,写起来很舒服。热重载、智能提示、调试体验,都做得不错。你想想看,改完代码不用重启就能看到效果,这效率能不高吗?

特性 ASP.NET Core 老版 ASP.NET
跨平台 ✅ 支持 ❌ 仅 Windows
开源 ✅ 是 ❌ 否
性能 极高 一般
模块化 ✅ 按需加载 ❌ 全量加载
容器支持 原生支持 需要额外配置

1.3 开发环境搭建

好,理论说完了,咱们动手。环境搭建其实很简单,就两步:装 SDK,装编辑器。

1.3.1 安装 .NET SDK

先去 dotnet.microsoft.com/download 下载最新的 .NET SDK。我建议你下载 LTS(长期支持)版本,比如 .NET 8,稳定,坑少。

安装完成后,打开终端(CMD 或 PowerShell),输入:

dotnet --version

如果看到类似 8.0.xxx 的数字,说明安装成功了。

小提示:我个人习惯在 Windows 上用 PowerShell,在 macOS 上用 Terminal。Linux 的话,Ubuntu 用 apt 安装最方便。

1.3.2 安装 VS Code

编辑器我推荐 VS Code,轻量、免费、插件多。去 code.visualstudio.com 下载安装就行。

装完之后,打开 VS Code,按 Ctrl+Shift+X 打开扩展商店,搜索并安装这几个插件:

  • C# Dev Kit(微软官方,必装)
  • .NET Extension Pack(包含常用工具)
  • NuGet Gallery(方便管理包)

装完插件,重启 VS Code。

1.3.3 创建你的第一个项目

打开终端,找个目录,输入:

dotnet new webapi -n MyFirstApi
cd MyFirstApi
code .

这条命令会创建一个 Web API 项目,然后用 VS Code 打开它。你会在左侧看到一堆文件,别慌,咱们后面慢慢讲。

现在,按 F5 启动项目。浏览器会自动打开,显示一个 Swagger 页面。如果看到这个页面,恭喜你,环境搭建成功了!

注意:如果你在 macOS 或 Linux 上遇到「无法绑定到 https://localhost:5001」的错误,可能是因为没有安装开发证书。运行 dotnet dev-certs https --trust 即可解决。我曾经在 Ubuntu 上折腾了半小时才发现是这个原因……

1.4 避坑指南

最后,分享几个我踩过的坑:

  • 版本问题:不要装预览版 SDK,除非你想当小白鼠。我吃过一次亏,预览版有个 bug,折腾了两天才发现是 SDK 的问题。
  • 路径中文:项目路径不要有中文或空格。虽然现在 .NET 支持了,但某些工具还是会出问题。我习惯用全英文路径。
  • 防火墙:如果你在公司网络下,记得检查防火墙是否阻止了 NuGet 的下载。我曾经在内网开发,配了半小时代理才搞定。

好了,第一节课就到这里。你只需要记住三件事:ASP.NET Core 是什么、为什么选它、怎么搭环境。下节课咱们开始写真正的代码。

对了,有任何问题,欢迎来找我聊。公众号:蓝海资料掘金营,微信 deep3321。