田敏
返回博客列表
技术

.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返回列表