The .NET platform is the foundation of the .NET ecosystem. The platform enables all other .NET code to be built and run. It also defines many of the patterns and capabilities commonly used by .NET developers, like LINQ, async, and generics. The .NET platform is also cross-platform by default, enabling most code to run on any supported operating system or chip architecture.
The platform is composed of:
- .NET runtime and libraries
- Language compilers for C#, F#, and Visual Basic
- Frameworks, including .NET MAUI, ASP.NET Core, Windows Forms, Windows Presentation Framework
- MSBuild and build system tailored for .NET
- NuGet client and package manager
- CLI that enables building .NET projects and configuring a development environment
.NET is sometimes called a "managed code" runtime. It is called managed primarily because it uses a garbage collector for memory management and because it enforces type and memory safety. The .NET runtime also virtualizes (or abstracts) a variety of operating system and hardware concepts, such as memory, threads, and exceptions.
The runtime is designed to support multiple programming languages. C#, F#, and Visual Basic languages are supported by Microsoft and are designed in collaboration with the community.
.NET has a comprehensive standard set of class libraries. These libraries provide implementations for many general-purpose and workload-specific types and utility functionality.
.NET is supported for many types of apps running in varied environments. In some cases, multiple implementations of the same component are provided so that apps run correctly and optimally. This is the case with networking and cryptography libraries, which need to adapt to the underlying operating system. It's also true of runtimes. The .NET platform is composed of three runtimes: CoreCLR, Mono, and Native AOT. They are compatible, in terms of running the same .NET code, but satisfy different characteristics which makes them suited for different environments (like Cloud or a watch).
- Project Info Site
- Project Code Repos: .NET Runtime, .NET SDK
- Project Docs Repos: Concepts, APIs, Samples
- Project License Type: MIT
- Project Main Contact: Immo Landwerth
- Twitter: @dotnet