三言两语 .NET
.NET 是什么
大学期间就听说过 .NET 平台,但是读书和实习期间一直没有接触到对应的业务,不知不觉 .NET 已经发展到 .NET 6.0 了,在这里对 .NET 的一些基础概念和发展历史做一下简单的整理。

.NET 是由 Microsoft 创建的开源开发人员平台,用于生成不同类型的应用程序。在 .NET 平台上,可以使用 C#、F# 或 Visual Basic 编写 .NET 应用。
.NET Framework 和 .NET Core 的区别
它们的区别主要在于:
面向的平台不同
- .NET Framework 是面向 Windows 的,这可能是因为微软起初的动机可能更希望它完全在 Windows 上生长,可以同时推广 .NET 和 Windows;
- .NET Core 则是面向多个平台的,包括并不限于 Windows、Linux 和 MacOS。
协议不同
- .NET Framework 是微软使用商业协议发布的,是一个私有的商业化平台;
- .NET Core 则是使用开源的 MIT 协议的。
.NET Framework 1.0 首发于 2002 年 2 月 13 日。而 .NET Core 1.0 则发布自 2016 年 6 月 27 日。前后差了超过 14 年。
在 .NET 5 之前,.NET Framework 和 .NET Core 是独立发展的。2019 年 5 月 Microsoft Build 大会上 .NET 5 的正式推出统一了 .NET Framework 和 .NET Core 。
在此之前 .NET Framework 的最新版本号为 4.8(发布于 2019 年 4 月 18 日),而 .NET Core 的最后一个单独版本为 .NET Core 3.1(发布于 2019 年 12 月 3 日)
.NET 5 的推出使得 .NET 的生态得到了统一,在此之后的版本就没有必要去刻意区分 .NET Framework 和 .NET Core 了。特别的,.NET 5 的运行时也叫做 CoreCLR 。

Mono 和 Xamarin 是什么
Mono 的 1.0 版本发布于 2004 年 6 月 30 日。最初主要希望在 Linux 桌面程序上建立一个 .NET 开发平台,最后逐渐在多个平台上遍地开花。

Xamarin 同时也是一款支持 Android 和 iOS 开发的 Mono 开发环境的名称。在公司被微软收购之后,微软完成了 Xamarin 与 Visual Studio 的合并。Mono 最初是一个非官方的民间组织,后续微软内部风向的转变,对开源生态的拥抱也促使了对 Mano 的收购和 .NET 5 的推出。
现在的 Mono 已经是 .NET 的一部分了,.NET 5 为用户提供了两种运行时选项:高性能的 CoreCLR(用于服务器和桌面应用程序)和轻量级的 Mono(用于移动设备和 WebAssembly)。
.NET 和 C# 是什么关系
经过上文的介绍,可以了解到:

.NET Standard
.NET Standard 最新的版本是 2.1,但是.NET 5 和所有将来的版本都会继续支持.NET Standard 2.1 和更早版本。可以在微软的官方网站查看各个实现对应的具体 .NET Standard 版本。