In the late 1990s, Microsoft began developing a
managed code runtime and programming language (
C#) which it billed together as part of the ".NET platform", with the core runtime and
software libraries 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 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 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 successor to
.NET Framework—and released
source code for the .NET Core
CoreCLR 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 (OSI) approved license. 1.0 was released on June 27, 2016, along with
Microsoft Visual Studio 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 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.
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. 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. is supported since .NET Core 2.1. Windows
Arm64 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==