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.[5]
On November 12, 2014, Microsoft introduced .NET Core—an open-source, cross-platform[6] successor[7] to .NET Framework—and released source code for the .NET Core CoreCLR implementation, source for the "entire [...] library stack" for .NET Core,[8] 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",[9] 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.[10][11][12]
.NET Core 1.0 was released on June 27, 2016,[13] along with Microsoft Visual Studio 2015 Update 3, which enables .NET Core development.[14] .NET Core 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.[15]
.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.[16] .NET Core 2.1 was released on May 30, 2018.[17] NET Core 2.2 was released on December 4, 2018.[18]
.NET Core 3 was released on September 23, 2019.[19] NET Core 3 adds support for Windows desktop application development[20] and significant performance improvements throughout the base library.
In November 2020, Microsoft released .NET 5.0.[21] 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 [citation needed].
In November 2021, Microsoft released .NET 6.0,[22] in November 2022 released .NET 7.0,[23] and in November 2023 released .NET 8.0.[24]
Alpine Linux, which primarily supports and uses musl libc,[31] is supported since .NET Core 2.1.[32]
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.[30]
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).[33]
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.[34][35]
.NET supports use of NuGet packages. Unlike .NET Framework, which is serviced using Windows Update, .NET used to rely on its package manager to receive updates.[36] Since December 2020, however, .NET updates started being delivered via Windows Update as well.[38]
As an implementation of CLI's Standard Libraries,[43] CoreFX shares a subset of .NET Framework APIs, however, it also comes with its own APIs that are not part of the .NET Framework.[36] A variant of the .NET library is used for UWP.[44]
.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),[46] which also supports Android and iOS.
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.[47] It has since been used as the official mascot.
Notes
^The prefix "Ryu" is the Japanese word for "dragon" (竜, ryū), and is a reference to the book Compilers: Principles, Techniques, and Tools (commonly known as the dragon book, from an early cover design), as well as to a character from the video game Street Fighter.[41]
^Wang, Abel (September 9, 2020). What is the dotnet bot? (Podcast). Microsoft. Event occurs at 4 seconds in. Retrieved March 9, 2021.
Further reading
Arif, Hammad; Qureshi, Habib (2020). Adopting .NET 5: Understand modern architectures, migration best practices, and the new features in .NET 5. Packt Publishing. ISBN978-1800560567.
Metzgar, Dustin (2018). .NET Core in Action. Manning Publications. ISBN978-1617294273.
Price, Mark J. (2021). C# 10 and .NET 6 – Modern Cross-Platform Development. Packt Publishing. ISBN978-1801077361.
Price, Mark J. (2020). C# 9 and .NET 5 – Modern Cross-Platform Development. Packt Publishing. ISBN978-1800568105.
Price, Mark J. (2019). C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development. Packt Publishing. ISBN978-1788478120.
Price, Mark J. (2017). C# 7.1 and .NET Core 2.0 – Modern Cross-Platform Development. Packt Publishing. ISBN978-1788398077.
Price, Mark J. (2017). C# 7 and .NET Core: Modern Cross-Platform Development. Packt Publishing. ISBN978-1787129559.
Price, Mark J. (2016). C# 6 and .NET Core 1.0: Modern Cross-Platform Development. Packt Publishing. ISBN978-1785285691.