什么是“自包含(self-contained)?

47 阅读1分钟

所谓“自包含”应用程序,是指包含了在操作系统原始安装中运行所需的所有组件的应用程序。

C# 编译器属于一组针对虚拟机的编译器:C# 编译器的输出是一个可执行文件,需要某种虚拟机(VM)才能执行。所以我们不能只安装一个裸机操作系统,就指望在上面运行 C# 编译器生成的程序。

在 Windows 系统上,曾经可通过安装 .NET Framework 来运行 C# 编译器的输出结果。但现在,许多 Windows SKU 不再携带该框架(如 IoT、Nano Server、ARM64 等),.NET Framework 也不支持 C# 语言的最新增强功能,正在被逐渐淘汰。 

要使 C# 应用程序能够“自包含”,它需要包含运行时和使用到的所有类库——对于我们预算的  2 KB 来说,要容纳的东西实在太多了!