The.NET platform (pronounced as "dot net") is afree and open-source,managed computersoftware framework forWindows,Linux, andmacOSoperating systems.[4] The project is mainly developed byMicrosoft employees by way of the.NET Foundation and is released under anMIT License.[3]
![]() | |
Developer(s) | .NET Foundation and the open-source community |
---|---|
Initial release | June 27, 2016; 8 years ago (2016-06-27) |
Stable release | |
Preview release | |
Repository | |
Written in | C++,C# |
Operating system | cross-platform:Windows,Linux,macOS,Android,iOS |
Platform | IA-32,x86-64,ARM,PowerPC |
Predecessor | .NET Framework |
Type | Software framework |
License | MIT[3] |
Website | dotnet |
New versions of the .NET platform are released annually, typically in November. 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.[citation needed]
History
editIn the late 1990s, Microsoft began developing amanaged code runtime and programming language (C#) which it billed together as part of the ".NET platform", with the core runtime andsoftware 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]
Soon after the announcement of the C# language at theProfessional Developers Conference in 2000 and previews of its software became available, Microsoft began a standardization effort throughECMA for what it dubbed theCommon Language Infrastructure. The company continued development and support of its own implementation asproprietary, closed source software in the meantime.[citation needed]
On November 12, 2014,Microsoft introduced.NET Core—an open-source,cross-platform[6] successor[7] to.NET Framework—and releasedsource code for the .NET CoreCoreCLR 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 theMs-RSL. Landwerth acknowledged the disadvantages of the formerly selected shared license, explaining that it madecodename Rotor "a non-starter" as a community-developed open source project because it did not meet the criteria of anOpen Source Initiative (OSI) approved license.[10][11][12]
.NET Core 1.0 was released on June 27, 2016,[13] along withMicrosoft 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, andEntity 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.xversioning 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] in November 2023 released .NET 8.0,[24] and in November 2024 released .NET 9.0.[25]
Version | Release date | Released with | Latest update | Latest update date | Support ends[26][27] | Support Lifetime |
---|---|---|---|---|---|---|
Old version, not maintained: .NET Core 1.0 | June 27, 2016[28] | Visual Studio 2015 Update 3 | 1.0.16 | May 14, 2019 | June 27, 2019 | 3 years |
Old version, not maintained: .NET Core 1.1 | November 16, 2016[29] | Visual Studio 2017 Version 15.0 | 1.1.13 | May 14, 2019 | June 27, 2019 | 2.5 years |
Old version, not maintained: .NET Core 2.0 | August 14, 2017[16] | Visual Studio 2017 Version 15.3 | 2.0.9 | July 10, 2018 | October 1, 2018 | 1.25 years |
Old version, not maintained: .NET Core 2.1 | May 30, 2018[17] | Visual Studio 2017 Version 15.7 | 2.1.30 (LTS) | August 19, 2021 | August 21, 2021 | 3.25 years |
Old version, not maintained: .NET Core 2.2 | December 4, 2018[18] | Visual Studio 2019 Version 16.0 | 2.2.8 | November 19, 2019 | December 23, 2019 | 0.9 years |
Old version, not maintained: .NET Core 3.0 | September 23, 2019[30] | Visual Studio 2019 Version 16.3 | 3.0.3 | February 18, 2020 | March 3, 2020 | 0.5 years |
Old version, not maintained: .NET Core 3.1 | December 3, 2019[31] | Visual Studio 2019 Version 16.4 | 3.1.32 (LTS) | December 13, 2022 | December 13, 2022 | 3 years |
Old version, not maintained: .NET 5 | November 10, 2020[32] | Visual Studio 2019 Version 16.8 | 5.0.17 | May 10, 2022 | May 10, 2022 | 1.5 years |
Old version, not maintained: .NET 6 | November 8, 2021[22] | Visual Studio 2022 Version 17.0 | 6.0.36 (LTS) | November 12, 2024 | November 12, 2024 | 3 years |
Old version, not maintained: .NET 7 | November 8, 2022[23] | Visual Studio 2022 Version 17.4 | 7.0.20 | May 28, 2024 | May 14, 2024 | 1.5 years |
Old version, still maintained: .NET 8 | November 14, 2023[24] | Visual Studio 2022 Version 17.8 | 8.0.13 (LTS) | February 11, 2025 | November 10, 2026 | 3 years |
Latest version:.NET 9 | November 12, 2024[25] | Visual Studio 2022 Version 17.12 | 9.0.2 | February 11, 2025 | May 12, 2026 | 1.5 years |
Future version: .NET 10 | November 2025 (projected) | (will beLTS) | November 2028 (projected) | 3 years (projected) | ||
Future version: .NET 11 | November 2026 (projected) | May 2028 (projected) | 1.5 years (projected) | |||
Legend: Old version, not maintained Old version, still maintained Latest version Latest preview version Future version |
Alpine Linux, which primarily supports and usesmusl libc,[33] is supported since .NET Core 2.1.[34]
WindowsArm64 is natively supported since .NET 5. Previously, .NET on ARM meant applications compiled for the x86 architecture and run through the ARM emulation layer.[32]
Linux .NET runs on PowerPC to some extent since .NET 7, officially no support is claimed by Microsoft but .NET does contain code for PowerPC compatibility for Linux systems and is able to be compiled for PowerPC systems specifically 64 bitLittle Endian variant.[35]
Language support
edit.NET fully supportsC# andF# (andC++/CLI as of 3.1; only enabled on Windows) and supportsVisual Basic .NET (for version 15.5 in .NET Core 5.0.100-preview.4, and some old versions supported in old .NET Core).[36]
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.[37][38]
Architecture
edit.NET supports the followingcross-platform scenarios:ASP.NET Coreweb apps, command-line/console apps, libraries andUniversal Windows Platform apps. Prior to .NET Core 3.0, it did not implementWindows Forms orWindows Presentation Foundation (WPF), which render the standardGUI for desktop software on Windows.[39] However, from .NET Core 3 on, it started implementing them along withUniversal Windows Platform (UWP).[40] It is also possible to write cross-platform graphical applications using .NET with theGTK# language-binding for theGTK widget toolkit.
.NET supports use ofNuGet packages. Unlike.NET Framework, which is serviced usingWindows Update, .NET used to rely on itspackage manager to receive updates.[39] Since December 2020, however, .NET updates started being delivered via Windows Update as well.[41]
The two main components of .NET are CoreCLR and CoreFX, which are comparable to theCommon Language Runtime (CLR) and theFramework Class Library (FCL) of the.NET Framework'sCommon Language Infrastructure (CLI) implementation.[42]
As an implementation of CLI'sVirtual Execution System (VES), CoreCLR is a completeruntime andvirtual machine formanagedexecution of CLI programs and includes ajust-in-time compiler called RyuJIT.[43][a] .NET Core also contains CoreRT, the .NET Native runtime optimized to be integrated intoAOT compiled nativebinaries.[45]
As an implementation of CLI'sStandard Libraries,[46] CoreFX shares a subset of .NET Framework APIs, however, it also comes with its own APIs that are not part of the .NET Framework.[39] A variant of the .NETlibrary is used forUWP.[47]
The .NETcommand-line interface offers an execution entry point foroperating systems and provides developer services like compilation and package management.[48]
.NET MAUI
edit.NET Multi-platform App UI (.NET MAUI, introduced with .NET 6) is a cross-platform framework for creating native mobile and desktop apps withC# andExtensible Application Markup Language (XAML),[49] which also supportsAndroid andiOS.
Mascot
editThe 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.[50] It has since been used as the official mascot.
Notes
edit- ^The prefix "Ryu" is the Japanese word for "dragon" (竜,ryū), and is a reference to the bookCompilers: Principles, Techniques, and Tools (commonly known as the dragon book, from an early cover design), as well as to a character from the video gameStreet Fighter.[44]
References
edit- ^https://dotnet.microsoft.com/en-us/download/dotnet/9.0. RetrievedMarch 11, 2025.
{{cite web}}
:Missing or empty|title=
(help) - ^"Download .NET 9.0". RetrievedOctober 8, 2024.
- ^ab"core/LICENSE.TXT".GitHub. RetrievedJune 4, 2018.
- ^"Download .NET Core".microsoft.com.Microsoft. RetrievedOctober 31, 2017.
- ^"Microsoft Delivers First .NET Platform Developer Tools for Building Web Services". July 11, 2000. RetrievedNovember 5, 2023.
- ^".NET Core is the Future of .NET". May 6, 2019.
- ^".NET Framework is dead – long live .NET 5". May 7, 2019.
- ^"Why a .NET Development Company Could Be the Perfect Boost | Pangea.ai".www.pangea.ai. RetrievedDecember 8, 2022.
- ^de Icaza, Miguel."Microsoft Open Sources .NET and Mono".Personal blog of Miguel de Icaza. RetrievedNovember 16, 2014.
- ^Landwerth, Immo (November 12, 2014).".NET Core is Open Source"..NET Framework Blog. Microsoft. RetrievedDecember 30, 2014.
- ^"dotnet/corefx". GitHub. RetrievedNovember 16, 2014.
- ^"Microsoft/referencesource". GitHub. RetrievedNovember 16, 2014.
- ^Bright, Peter (June 27, 2016).".NET Core 1.0 released, now officially supported by Red Hat".Ars Technica.Condé Nast.
- ^Foley, Mary Jo (June 27, 2016)."Microsoft showcases SQL Server, .NET Core on Red Hat Enterprise Linux deliverables".ZDNet.CBS Interactive.
- ^"Announcing .NET Core Tools 1.0 | .NET Blog". Blogs.msdn.microsoft.com. March 7, 2017. RetrievedJanuary 18, 2020.
- ^ab"Announcing .NET Core 2.0"..NET Blog. Microsoft. August 14, 2017.
- ^ab"Announcing .NET Core 2.1"..NET Blog. Microsoft. May 30, 2018.
- ^ab"Announcing .NET Core 2.2"..NET Blog. Microsoft. December 4, 2018.
- ^".NET Core is the Future of .NET"..NET Blog. May 6, 2019. RetrievedMay 17, 2019.
- ^"What's new in .NET Core 3.0"..NET documentation. RetrievedDecember 30, 2020.
- ^"Announcing .NET 5.0"..NET Blog. November 10, 2020. RetrievedNovember 21, 2020.
- ^abLander, Richard (November 8, 2021)."Announcing .NET 6 – The Fastest .NET Yet"..NET Blog. RetrievedMay 6, 2022.
- ^abDouglas, Jon (November 8, 2022).".NET 7 is Available Today"..NET Blog. RetrievedJanuary 13, 2024.
- ^abSeth, Gaurav (November 14, 2023)."Announcing .NET 8"..NET Blog. RetrievedJanuary 13, 2024.
- ^ab"Announcing .NET 9"..NET Blog. November 12, 2024. RetrievedNovember 12, 2024.
- ^".NET and .NET Core official support policy"..NET. Microsoft.
- ^"Microsoft .NET and .NET Core - Microsoft Lifecycle".learn.microsoft.com. Microsoft.
- ^"Announcing .NET Core 1.0"..NET Blog. Microsoft. June 27, 2016.
- ^"Announcing .NET Core 1.1"..NET Blog. Microsoft. November 16, 2016.
- ^"Announcing .NET Core 3.0"..NET Blog. Microsoft. September 23, 2019.
- ^"Announcing .NET Core 3.1"..NET Blog. Microsoft. December 3, 2019.
- ^ab"Announcing .NET 5.0"..NET Blog. Microsoft. November 10, 2020.
- ^"Alpine 3.10.0 released | Alpine Linux".alpinelinux.org. RetrievedJune 9, 2020.
- ^"dotnet/core".GitHub. RetrievedJune 9, 2020.
- ^Woodie, Alex (November 9, 2022)."IBM and Microsoft Bring .NET to Power, After All".IT Jungle. RetrievedFebruary 15, 2025.
- ^".NET framework supports different programming languages". RetrievedApril 21, 2022.
- ^"Visual Basic in .NET Core 3.0 | Visual Basic Blog". Blogs.msdn.microsoft.com. October 12, 2019. RetrievedJanuary 18, 2020.
- ^"Visual Basic support planned for .NET 5.0 | Visual Basic Blog". Blogs.msdn.microsoft.com. March 11, 2020. RetrievedAugust 26, 2020.
- ^abcCarter, Phillip; Knezevic, Zlatko (April 2016).".NET Core – .NET Goes Cross-Platform with .NET Core".MSDN Magazine.Microsoft.
- ^Lander, Rich (May 7, 2018).".NET Core 3 and Support for Windows Desktop Applications".MSDN.Microsoft.
- ^".NET Core 2.1, 3.1, and .NET 5.0 updates are coming to Microsoft Update"..NET Blog. December 3, 2020. RetrievedDecember 15, 2020.
- ^"Understanding .NET Framework, .NET Core, .NET Standard And Future .NET".www.c-sharpcorner.com. RetrievedFebruary 1, 2021.
- ^Landwerth, Immo (February 3, 2015)."CoreCLR is now Open Source"..NET Framework Blog.Microsoft. RetrievedFebruary 27, 2015.
- ^"Why RyuJIT? How was the name chosen?".nuWave eSolutions Development Team Blog. November 25, 2014. RetrievedJune 21, 2016.
- ^Ramel, David (August 31, 2020)."Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core -".Visual Studio Magazine.Archived from the original on October 22, 2020. RetrievedFebruary 1, 2021.
- ^Landwerth, Immo (December 4, 2014)."Introducing .NET Core"..NET Framework Blog.Microsoft. RetrievedFebruary 27, 2015.
- ^"Intro to .NET Native and CoreRT".GitHub. April 23, 2016.
- ^"Intro to CLI".GitHub. April 23, 2016.
- ^"What is .NET MAUI? - .NET MAUI".learn.microsoft.com. RetrievedNovember 8, 2022.
- ^Wang, Abel (September 9, 2020).What is the dotnet bot? (Podcast). Microsoft. Event occurs at 4 seconds in. RetrievedMarch 9, 2021.
Further reading
edit- Arif, Hammad; Qureshi, Habib (2020).Adopting .NET 5: Understand modern architectures, migration best practices, and the new features in .NET 5. Packt Publishing.ISBN 978-1800560567.
- Metzgar, Dustin (2018)..NET Core in Action. Manning Publications.ISBN 978-1617294273.
- Price, Mark J. (2021).C# 10 and .NET 6 – Modern Cross-Platform Development. Packt Publishing.ISBN 978-1801077361.
- Price, Mark J. (2020).C# 9 and .NET 5 – Modern Cross-Platform Development. Packt Publishing.ISBN 978-1800568105.
- Price, Mark J. (2019).C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development. Packt Publishing.ISBN 978-1788478120.
- Price, Mark J. (2017).C# 7.1 and .NET Core 2.0 – Modern Cross-Platform Development. Packt Publishing.ISBN 978-1788398077.
- Price, Mark J. (2017).C# 7 and .NET Core: Modern Cross-Platform Development. Packt Publishing.ISBN 978-1787129559.
- Price, Mark J. (2016).C# 6 and .NET Core 1.0: Modern Cross-Platform Development. Packt Publishing.ISBN 978-1785285691.
- Zimarev, Alexey (2019).Hands-On Domain-Driven Design with .NET Core. Packt Publishing.ISBN 978-1788834094.