在 Windows 系统上安装好新的软件,双击运行经常会遇到需要下载安装 .net framework 6、.net 7、.net 8...等运行时的问题,如下图1所示。然而,从 .net 6 版本开始,微软根据不同作用分成了 .NET SDK、.NET Desktop Runtime、.NET Runtime、ASP.NET Core Runtime 等不同版本,我们该下载安装哪个版本的 .net 运行时呢?
图1.运行程序提示需要安装 .net 运行时
2、了解 .NET 各版本功能及作用- .NET SDK
软件开发工具包 (SDK)包括使用命令行工具和任何编辑器(如 Visual Studio)生成和运行 .NET 应用程序所需的一切内容。
SDK 包含 .NET Runtime、ASP.NET Core Runtime 和 .NET Desktop Runtime。 - .NET Desktop Runtime
又称为 .NET 桌面运行时,是 Windows 桌面应用程序的底层框架,所有基于 .NET 平台开发的软件都必须依赖于该组件才能正常运行。 - .NET Runtime
又称为 .NET 运行时,仅包含运行控制台应用所需的组件。控制台应用通常是指运行在如 DOS 等命令行环境下的应用,只能通过输入命令与程序进行交互。所以,对于常见的有GUI图形用户界面的桌面应用程序,通常还需要安装 ASP.NET Core 运行时 或者 .NET 桌面运行时。 - ASP.NET Core Runtime
也称为 ASP.NET 核心运行时,主要用于支撑 Web/服务器应用程序,在开发调试 ASP 网站时需要使用到该组件,普通用户几乎不会使用到。
从 .NET 各版本功能及作用可见,对于绝大部分普通用户、绝大部分 Windows 桌面应用程序而言,直接下载安装 .NET Desktop Runtime 运行时即可;极少数情况下, .NET Desktop Runtime 运行时可能会无效,那么 .NET SDK 就是究极方案了。
高版本的 .NET Runtime 需要依赖于 ASP.NET Core Runtime 或者 .NET Desktop Runtime,所以 .NET Runtime 可以直接忽略。ASP.NET Core Runtime 一般用于 Web 服务器,普通用户也可以直接忽略。
综上,如果为了稳妥,无脑安装 .NET SDK 运行时 就可以满足程序的一切需求;如果为了节省一定的磁盘空间,.NET Desktop Runtime 运行时 会是一个更好的选择。
从二进制到汇编,从汇编到高级语言,从高级语言到各种框架,随着抽象级别越来越高,程序开发难度在不断的降低、开发时间也在不断的缩减。但是,天平的另一端是用户为了使用一些新特性的程序,需要手动安装越来越多的底层支撑环境,比如 JRE、Nodejs、PHP、Python、WebView2、VC 等等。所以,Windows 系统有一天是否能够完全接管这部分对于普通用户来说超级麻烦的工作呢?不管是以原版集成,还是系统更新的方式。