The .NET platform (pronounced as "''dot net"'') is a
free and open-source
Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
,
managed computer
software framework
In computer programming, a software framework is a software abstraction that provides generic functionality which developers can extend with custom code to create applications. It establishes a standard foundation for building and deploying soft ...
for
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, and
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s. The project is mainly developed by
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
employees by way of the
.NET Foundation and is released under an
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
.
New versions of the .NET platform are released annually, typically in November. As of May 2025, the most recent version of .NET is .NET 9, released in November 2024, while the current long-term support (LTS) version is .NET 8, released in November 2023 and scheduled to receive updates until November 2026.
History
In the late 1990s, Microsoft began developing a
managed code
Managed code is computer program code that requires and will execute only under the management of a Common Language Infrastructure (CLI); Virtual Execution System (VES); virtual machine, e.g. .NET, CoreFX, or .NET Framework; Common Language R ...
runtime and programming language (
C#) which it billed together as part of the ".NET platform", with the core runtime and
software libraries
In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
comprising the
.NET Framework.
At the heart of the .NET Platform is the .NET Framework, a high-productivity, multilanguage development and execution environment for building and running Web services with important features such as cross-language inheritance and debugging.
Soon after the announcement of the C# language at the
Professional Developers Conference
Microsoft's Professional Developers Conference (PDC) was a series of conferences for software developers; the conference was held infrequently to coincide with beta releases of the Microsoft Windows, Windows operating system, and showcased topic ...
in 2000 and previews of its software became available, Microsoft began a standardization effort through
ECMA for what it dubbed the
Common Language Infrastructure
The Common Language Infrastructure (CLI) is an open specification and technical standard originally developed by Microsoft and standardized by International Organization for Standardization, ISO/International Electrotechnical Commission, IEC (ISO/ ...
. The company continued development and support of its own implementation as
proprietary, closed source software in the meantime.
On November 12, 2014,
Microsoft introduced .NET Core—an open-source,
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
successor to
.NET Framework—and released
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
for the .NET Core
CoreCLR
The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instru ...
implementation, source for the "entire
..library stack" for .NET Core, and announced the adoption of a conventional (
"bazaar"-like)
open-source development model under the stewardship of the
.NET Foundation.
Miguel de Icaza describes .NET Core as a "redesigned version of .NET that is based on the simplified version of the class libraries",
and Microsoft's Immo Landwerth explained that .NET Core would be "the foundation of all future .NET platforms". At the time of the announcement, the initial release of the .NET Core project had been seeded with a subset of the libraries' source code and coincided with the relicensing of Microsoft's existing .NET reference source away from the restrictions of the
Ms-RSL. Landwerth acknowledged the disadvantages of the formerly selected shared license, explaining that it made
codename Rotor "a non-starter" as a community-developed open source project because it did not meet the criteria of an
Open Source Initiative
The Open Source Initiative (OSI) is a California public benefit corporation "actively involved in Open Source community-building, education, and public advocacy to promote awareness and the importance of non-proprietary software".
Governance
The ...
(OSI) approved license.
1.0 was released on June 27, 2016,
along with
Microsoft Visual Studio
Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms ...
2015 Update 3, which enables .NET Core development. 1.0.4 and .NET Core 1.1.1 were released along with .NET Core Tools 1.0 and Visual Studio 2017 on March 7, 2017.
.NET Core 2.0 was released on August 14, 2017, along with Visual Studio 2017 15.3, ASP.NET Core 2.0, and
Entity Framework
Entity Framework (EF) is an open source object–relational mapping (ORM) framework for ADO.NET. It was originally shipped as an integral part of .NET Framework, however starting with Entity Framework version 6.0 it has been delivered separatel ...
Core 2.0.
2.1 was released on May 30, 2018.
NET Core 2.2 was released on December 4, 2018.
.NET Core 3 was released on September 23, 2019. NET Core 3 adds support for Windows desktop application development and significant performance improvements throughout the base library.
In November 2020, Microsoft released .NET 5.0. The "Core" branding was abandoned and version 4.0 was skipped to avoid conflation with .NET Framework, of which the latest releases had all used 4.x
versioning for all significant (non-bugfix) releases since 2010.
It addresses the patent concerns related to the .NET Framework .
In November 2021, Microsoft released .NET 6.0,
in November 2022 released .NET 7.0,
in November 2023 released .NET 8.0,
and in November 2024 released .NET 9.0.
Versioning practice
.NET Core Runtime roughly uses
semantic versioning, the ''major.minor.patch'' format. Major versions are incremented with "significant changes", API-breaking changes, or with the major version increase in an existing dependency. It should happen yearly. Minor versions are incremented with the addition of API features, dependencies, or with the minor version increase in an existing dependency. Patch versions are given for bug fixes, new platform support, or other changes not included above.
As of 2019, runtime versions are backwards-compatible within the same major version number. For example, .NET Core 2.2 is able to run programs built for .NET Core 2.1. Runtime versions in the same minor version.
[ This appears to have relaxed since .NET 5. A "roll-forward" behavior allows any .NET program to be run on any newer version given the correct settings.][
The SDK does not use semantic versioning. As of 2019, it supports targeting ''every'' runtime version prior to its maximum supported version.] As of 2020, this extends down to .NET Framework runtimes as well, though downloading an additional "targeting pack" from NuGet may be necessary. The major and minor versions of an SDK always matches the major and minor versions of the runtime it contains or is aligned for.[
]
OS and architecture support
Alpine Linux, which primarily supports and uses musl libc, is supported since .NET Core 2.1.
Windows Arm64
AArch64, also known as ARM64, is a 64-bit version of the ARM architecture family, a widely used set of computer processor designs. It was introduced in 2011 with the ARMv8 architecture and later became part of the ARMv9 series. AArch64 allows ...
is natively supported since .NET 5. Previously, .NET on ARM meant applications compiled for the x86 architecture and run through the ARM emulation layer.
Linux .NET runs on Power ISA to some extent since .NET 7, officially no support is claimed by Microsoft but .NET does contain code for Power ISA compatibility for Linux systems and is able to be compiled for Power ISA systems specifically 64 bit Little Endian variant.
Language support
.NET fully supports C# and F# (and C++/CLI as of 3.1; only enabled on Windows) and supports Visual Basic .NET (for version 15.5 in .NET Core 5.0.100-preview.4, and some old versions supported in old .NET Core).
VB.NET compiles and runs on .NET, but as of .NET Core 3.1, the separate Visual Basic Runtime is not implemented. Microsoft initially announced that .NET Core 3 would include the Visual Basic Runtime, but after two years the timeline for such support was updated to .NET 5.
Architecture
.NET supports the following cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
scenarios: ASP.NET Core web app
A web application (or web app) is application software that is created with World Wide Web, web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to Dynamic web page, dynamically ...
s, command-line/console apps, libraries and Universal Windows Platform apps. Prior to .NET Core 3.0, it did not implement Windows Forms or Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source user interface framework for Windows-based desktop applications. WPF applications are based in .NET, and are primarily developed using C# and XAML.
Originally developed by Microso ...
(WPF), which render the standard GUI for desktop software on Windows. However, from .NET Core 3 on, it started implementing them along with Universal Windows Platform
Universal Windows Platform (UWP) is a computing platform created by Microsoft and introduced in Windows 10. The purpose of this platform is to help develop universal apps that run on Windows 10, Windows 10 Mobile (discontinued), Windows 11, Xbox ...
(UWP). It is also possible to write cross-platform graphical applications using .NET with the GTK# language-binding for the GTK
GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
widget toolkit.
.NET supports use of NuGet packages. Unlike .NET Framework, which is serviced using Windows Update
Windows Update is a Microsoft service for the Windows 9x and Windows NT families of the Microsoft Windows operating system, which automates downloading and installing Microsoft Windows software updates over the Internet. The service delivers sof ...
, .NET used to rely on its package manager
A package manager or package management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.
A package manager deals wi ...
to receive updates.[ Since December 2020, however, .NET updates started being delivered via Windows Update as well.
The two main components of .NET are CoreCLR and CoreFX, which are comparable to the ]Common Language Runtime
The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instr ...
(CLR) and the Framework Class Library (FCL) of the .NET Framework's Common Language Infrastructure
The Common Language Infrastructure (CLI) is an open specification and technical standard originally developed by Microsoft and standardized by International Organization for Standardization, ISO/International Electrotechnical Commission, IEC (ISO/ ...
(CLI) implementation.
As an implementation of CLI's Virtual Execution System
The Virtual Execution System (VES) is a run-time system of the Common Language Infrastructure CLI which provides an environment for executing managed code. It provides direct support for a set of built-in data types, defines a hypothetical mach ...
(VES), CoreCLR is a complete runtime and virtual machine
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
for managed execution
Capital punishment, also known as the death penalty and formerly called judicial homicide, is the state-sanctioned killing of a person as punishment for actual or supposed misconduct. The sentence ordering that an offender be punished in ...
of CLI programs and includes a just-in-time compiler
In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is compiler, compilation (of Source code, computer code) during execution of a program (at run time (program lifecycle phase), run time) rather than b ...
called RyuJIT. also contains CoreRT, the runtime optimized to be integrated into AOT compiled native binaries
A binary file is a computer file that is not a text file. The term "binary file" is often used as a term meaning "non-text file". Many binary file formats contain parts that can be interpreted as text; for example, some computer document files ...
.
As an implementation of CLI's Standard Libraries, CoreFX shares a subset of APIs, however, it also comes with its own APIs that are not part of the .[ A variant of the .NET ]library
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
is used for UWP.
The .NET command-line interface
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
offers an execution entry point for operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s and provides developer services like compilation and package management.
.NET MAUI
.NET Multi-platform App UI (.NET MAUI, introduced with .NET 6) is a cross-platform framework for creating native mobile and desktop apps with C# and Extensible Application Markup Language (XAML), which also supports Android and iOS
Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
.
Mascot
The official community mascot of .NET is the .NET Bot (stylized as "dotnet bot" or "dotnet-bot"). The dotnet bot served as the placeholder developer for the initial check-in of the .NET source code when it was open-sourced. It has since been used as the official mascot.
Notes
References
Further reading
*
*
*
*
*
*
*
*
*
External links
*
*
{{Microsoft FOSS
.NET implementations
Cross-platform software
Microsoft application programming interfaces
Microsoft development tools
Microsoft free software
Software using the MIT license
2016 software