.NET developer platform has a very robust and complex ecosystem. It is divided into three runtimes.
.NET Framework This is the first runtime from the .NET family, it can be used to build many types of applications, but they will be available mainly on Windows. It uses various API sets such as Windows Communication Foundation.
.NET Core The second in the .NET runtime family. Compared to the .NET Framework using this runtime, you can build cross-platform applications on Windows, Linux, and MacOS. It is also open-source!
Mono for Xamarin With the use of Mono, runtime developers are able to build cross-platform applications for mobile devices while still using solutions from the .NET family
All runtimes have .NET Standard in them. This is a specification of .NET APIs that exist in each runtime. Thanks to .NET Standard, code written in one runtime can run on another runtime. Each of the runtimes needs to somehow compile and run code and this is where the lowest layer of the ecosystem - Common Infrastructure comes in handy. It includes programming languages and tools such as NuGet and virtual machine components.
To launch applications we use Common Language Runtime (CLR). The CLR offers several services such as Memory management or compilation and controls the managed code.
The .NET ecosystem is supported by the .NET Foundation - an organization founded in 2014 by Microsoft.