ASP.NET Core 时代只需要“有运行时”,运行时是什么
运行时(Runtime)就是 让 .NET 程序跑起来的“最小发动机”——
没有它,操作系统只认识一堆 DLL/EXE 文件;有了它,CPU 才能执行你的 ASP.NET Core 代码。
没有它,操作系统只认识一堆 DLL/EXE 文件;有了它,CPU 才能执行你的 ASP.NET Core 代码。
- 
运行时到底长什么样
表格
| 平台 | 文件名/包名 | 体积 | 内容 | 
|---|---|---|---|
| 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 专用库- 
运行时包含的三大件
- 
CLR(Common Language Runtime)- 
垃圾回收、线程调度、异常处理、JIT 编译器
 
- 
- 
基础类库(BCL)- 
System.IO、System.Collections、System.Threading等
 
- 
- 
ASP.NET Core 原生模块- 
Kestrel 网络引擎、配置、依赖注入、Hosting —— 框架依赖部署必备
 
- 
- 
运行时 vs SDK vs 自包含
SDK(开发) = 运行时 + 编译器 + CLI 工具(dotnet build/run)
运行时(生产)= 只够“跑”的最小集合
自包含(SCD)= 把运行时复制到你的发布文件夹里,目标机 0 依赖- 
一键验证
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/...]- 
生产环境最小安装示例
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 的‘最小发动机’。 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号