技术
.NET SDK / Runtime 区别笔记
田敏
2026-05-012 分钟阅读C#.NET
一、核心区别
可以先记住一句话:
SDK = 开发工具 + Runtime
Runtime = 只能运行程序
二、四者区别
| 名称 | 作用 | 能开发 | 能运行 | 适用场景 | | -------------------- | ------------ | ------ | ------ | -------------- | | .NET SDK | 完整开发环境 | ✅ | ✅ | 开发人员 | | .NET Runtime | 基础运行时 | ❌ | ✅ | 控制台程序 | | ASP.NET Core Runtime | Web运行时 | ❌ | ✅ | Web API / 网站 | | .NET Desktop Runtime | 桌面运行时 | ❌ | ✅ | WinForms / WPF |
三、.NET SDK
作用
这是开发 .NET 程序必须安装的内容。
它包含:
- .NET Runtime
- ASP.NET Core Runtime
- 编译器
- dotnet CLI 工具
- NuGet 支持
- 项目模板
能做什么
# 创建项目
dotnet new console
# 编译
dotnet build
# 运行
dotnet run
适合谁
- C# 开发人员
- Visual Studio 用户
- VSCode 用户
- Rider 用户
结论
开发环境直接安装:
.NET SDK
即可。
因为 SDK 已经包含 Runtime。
四、.NET Runtime
作用
最基础的运行环境。
只能运行:
- 控制台程序
- 普通 .NET 程序
- 类库依赖
不能:
- 编译代码
- 创建项目
- 开发程序
示例
运行:
dotnet xxx.dll
需要安装对应版本的:
.NET Runtime
五、ASP.NET Core Runtime
作用
专门用于运行:
- Web API
- MVC 网站
- Blazor Server
- SignalR
它包含
- .NET Runtime
- ASP.NET Core 组件
- Kestrel Web Server
示例
如果运行:
dotnet MyWebApi.dll
则需要:
ASP.NET Core Runtime
仅安装普通 .NET Runtime 不够。
六、.NET Desktop Runtime
作用
用于 Windows 桌面 GUI 程序。
支持:
- WinForms
- WPF
示例
一些桌面软件:
- WPF 工具
- WinForms 软件
- 部分 Windows 客户端
需要:
.NET Desktop Runtime
七、包含关系(重点)
SDK 包含:
.NET SDK
├── .NET Runtime
├── ASP.NET Core Runtime
└── 开发工具(CLI/编译器)
ASP.NET Core Runtime 包含:
ASP.NET Core Runtime
└── .NET Runtime
Desktop Runtime 包含:
Desktop Runtime
└── .NET Runtime + WPF/WinForms组件
八、常见使用场景
场景1:开发项目
安装:
.NET SDK
场景2:服务器部署 Web API
安装:
ASP.NET Core Runtime
场景3:运行桌面程序
安装:
.NET Desktop Runtime
九、查看电脑已安装内容
查看 SDK
dotnet --list-sdks
查看 Runtime
dotnet --list-runtimes
十、版本兼容问题
例如:
.NET 8 程序
通常需要:
.NET 8 Runtime
注意:
高版本 Runtime 不一定兼容低版本程序。
十一、开发建议
如果你平时:
- 使用 VSCode
- 写 C#
- 使用 Blazor
- 开发 ASP.NET Core
- 写控制台程序
建议直接安装:
.NET SDK(LTS版本)
推荐:
- .NET 8 SDK(LTS)
- .NET 9 SDK(新特性尝鲜)
十二、一句话总结
开发 → 安装 SDK
运行普通程序 → Runtime
运行网站 → ASP.NET Core Runtime
运行桌面GUI → Desktop Runtime
版权协议:MIT返回列表