ASP.NET Core 时代只需要“有运行时”,运行时是什么

运行时(Runtime)就是 让 .NET 程序跑起来的“最小发动机”——
没有它,操作系统只认识一堆 DLL/EXE 文件;有了它,CPU 才能执行你的 ASP.NET Core 代码。

  1. 运行时到底长什么样

表格
复制
平台文件名/包名体积内容
Windows dotnet-runtime-win-x64.exe / aspnetcore-runtime-win-x64.exe ≈30 MB / ≈50 MB CLR + 基础类库 + ASP.NET Core 原生模块
Linux apt install aspnetcore-runtime-8.0 ≈80 MB 同上,打包成 deb/rpm
macOS dotnet-install.sh --runtime aspnetcore ≈70 MB 同上,.pkg 或 tar.gz
装完后硬盘会出现一个根目录:
复制
/usr/share/dotnet/          (Linux)
C:\Program Files\dotnet\    (Windows)
└── dotnet                  ← 主入口
    shared/
    ├── Microsoft.NETCore.App/         ← 基础运行时
    └── Microsoft.AspNetCore.App/      ← ASP.NET Core 专用库
 

  1. 运行时包含的三大件

  1. CLR(Common Language Runtime)
    • 垃圾回收、线程调度、异常处理、JIT 编译器
  2. 基础类库(BCL)
    • System.IOSystem.CollectionsSystem.Threading
  3. ASP.NET Core 原生模块
    • Kestrel 网络引擎、配置、依赖注入、Hosting —— 框架依赖部署必备

  1. 运行时 vs SDK vs 自包含

复制
SDK(开发) = 运行时 + 编译器 + CLI 工具(dotnet build/run)
运行时(生产)= 只够“跑”的最小集合
自包含(SCD)= 把运行时复制到你的发布文件夹里,目标机 0 依赖
 

  1. 一键验证

bash
复制
# 任何平台
dotnet --info

# 出现如下即代表运行时 OK
.NET runtimes installed:
  Microsoft.AspNetCore.App 8.0.6 [/usr/share/dotnet/shared/...]
  Microsoft.NETCore.App  8.0.6 [/usr/share/dotnet/shared/...]
 

  1. 生产环境最小安装示例

Ubuntu 22.04
bash
复制
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
sudo apt install -y aspnetcore-runtime-8.0   # 一条命令搞定

Windows Server下载链接:https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
一句话总结
运行时 = “.NET 虚拟机 + 基础类库 + ASP.NET Core 网络模块”的合体,
装好后系统里就多了一个 dotnet 命令,你的框架依赖应用就能被加载、JIT、执行——这就是 ASP.NET Core 的‘最小发动机’。
posted @ 2025-10-09 17:49  yinghualeihenmei  阅读(8)  评论(0)    收藏  举报