.NET explained

Qid:Q21622213
.NET
Developer:.NET Foundation and the open-source community
Replaces:.NET Framework
Programming Language:C++, C#
Operating System:cross-platform

Windows, Linux, macOS, Android, iOS

Genre:Software framework
License:MIT

The .NET platform (pronounced as "dot net") is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems.[1] The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.[2]

History

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.[3]

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[4] successor[5] to .NET Framework—and released source code for the .NET Core CoreCLR implementation, source for the "entire [...] library stack" for .NET Core,[6] 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",[7] 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.[8] [9] [10]

1.0 was released on June 27, 2016,[11] along with Microsoft Visual Studio 2015 Update 3, which enables .NET Core development.[12] 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.[13]

.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.[14] 2.1 was released on May 30, 2018.[15] NET Core 2.2 was released on December 4, 2018.[16]

.NET Core 3 was released on September 23, 2019.[17] NET Core 3 adds support for Windows desktop application development[18] and significant performance improvements throughout the base library.

In November 2020, Microsoft released .NET 5.0.[19] 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,[20] in November 2022 released .NET 7.0,[21] and in November 2023 released .NET 8.0.[22]

Version Release date Released with Latest update Latest update date Support ends[23] Support Lifetime
[24] Visual Studio 2015 Update 31.0.163 years
[25] Visual Studio 2017 Version 15.01.1.132.5 years
Visual Studio 2017 Version 15.32.0.91.25 years
Visual Studio 2017 Version 15.72.1.30 (LTS)3.25 years
Visual Studio 2019 Version 16.02.2.80.9 years
[26] Visual Studio 2019 Version 16.33.0.30.5 years
[27] Visual Studio 2019 Version 16.43.1.32 (LTS)3 years
Visual Studio 2019 Version 16.85.0.171.5 years
Visual Studio 2022 Version 17.06.0.31 (LTS)3 years
Visual Studio 2022 Version 17.47.0.191.5 years
Visual Studio 2022 Version 17.88.0.6 (LTS)3 years
(projected)9.0.0-preview.7 (projected)1.5 years (projected)
(projected)(will be LTS) (projected)3 years (projected)

Alpine Linux, which primarily supports and uses musl libc,[28] is supported since .NET Core 2.1.[29]

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).[31]

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.[32] [33]

Architecture

See main article: Common Language Infrastructure. .NET supports the following cross-platform scenarios: ASP.NET Core web apps, 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 (WPF), which render the standard GUI for desktop software on Windows.[34] However, from .NET Core 3 on, it started implementing them along with Universal Windows Platform (UWP).[35] It is also possible to write cross-platform graphical applications using .NET with the GTK# language-binding for the GTK widget toolkit.

.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.[34] Since December 2020, however, .NET updates started being delivered via Windows Update as well.[36]

The two main components of .NET are CoreCLR and CoreFX, which are comparable to the Common Language Runtime (CLR) and the Framework Class Library (FCL) of the .NET Framework's Common Language Infrastructure (CLI) implementation.[37]

As an implementation of CLI's Virtual Execution System (VES), CoreCLR is a complete runtime and virtual machine for managed execution of CLI programs and includes a just-in-time compiler called RyuJIT.[38] also contains CoreRT, the runtime optimized to be integrated into AOT compiled native binaries.[39]

As an implementation of CLI's Standard Libraries,[40] CoreFX shares a subset of APIs, however, it also comes with its own APIs that are not part of the .[34] A variant of the .NET library is used for UWP.[41]

The .NET command-line interface offers an execution entry point for operating systems and provides developer services like compilation and package management.[42]

.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),[43] 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.[44] It has since been used as the official mascot.

Further reading

External links

Notes and References

  1. Web site: Download .NET Core. microsoft.com. Microsoft. October 31, 2017.
  2. Web site: core/LICENSE.TXT . . June 4, 2018.
  3. Web site: Microsoft Delivers First .NET Platform Developer Tools for Building Web Services. July 11, 2000. November 5, 2023.
  4. Web site: .NET Core is the Future of .NET . May 6, 2019 .
  5. Web site: .NET Framework is dead – long live .NET 5. May 7, 2019 .
  6. Web site: Why a .NET Development Company Could Be the Perfect Boost Pangea.ai . 2022-12-08 . www.pangea.ai . en-US.
  7. Web site: Microsoft Open Sources .NET and Mono. Miguel. de Icaza. Miguel de Icaza. Personal blog of Miguel de Icaza. November 16, 2014.
  8. Web site: .NET Core is Open Source. .NET Framework Blog. Microsoft. December 30, 2014. November 12, 2014. Immo. Landwerth.
  9. Web site: dotnet/corefx. GitHub. November 16, 2014.
  10. Web site: Microsoft/referencesource. GitHub. November 16, 2014.
  11. Web site: Bright. Peter. .NET Core 1.0 released, now officially supported by Red Hat. Ars Technica. Condé Nast. June 27, 2016.
  12. Web site: Foley. Mary Jo. Microsoft showcases SQL Server, .NET Core on Red Hat Enterprise Linux deliverables. ZDNet. CBS Interactive. June 27, 2016.
  13. Web site: Announcing .NET Core Tools 1.0 .NET Blog . March 7, 2017 . Blogs.msdn.microsoft.com . January 18, 2020.
  14. Web site: Announcing .NET Core 2.0. .NET Blog. Microsoft. August 14, 2017.
  15. Web site: Announcing .NET Core 2.1. .NET Blog. Microsoft. May 30, 2018.
  16. Web site: Announcing .NET Core 2.2. .NET Blog. Microsoft. December 4, 2018.
  17. Web site: .NET Core is the Future of .NET. May 6, 2019. .NET Blog. en-US. May 17, 2019.
  18. Web site: What's new in .NET Core 3.0. .NET documentation. en-US. December 30, 2020.
  19. Web site: November 10, 2020 . Announcing .NET 5.0 . November 21, 2020 . .NET Blog . en-US.
  20. Web site: Lander . Richard . 2021-11-08 . Announcing .NET 6 – The Fastest .NET Yet . 2022-05-06 . .NET Blog . en-US.
  21. Web site: Douglas . Jon . 2022-11-08 . .NET 7 is Available Today . 2024-01-13 . .NET Blog . en-US.
  22. Web site: Seth . Gaurav . 2023-11-14 . Announcing .NET 8 . 2024-01-13 . .NET Blog . en-US.
  23. Web site: .NET Core official support policy. .NET. Microsoft.
  24. Web site: Announcing .NET Core 1.0. .NET Blog. Microsoft. June 27, 2016.
  25. Web site: Announcing .NET Core 1.1. .NET Blog. Microsoft. November 16, 2016.
  26. Web site: Announcing .NET Core 3.0. .NET Blog. Microsoft. September 23, 2019.
  27. Web site: Announcing .NET Core 3.1. .NET Blog. Microsoft. December 3, 2019.
  28. Web site: Alpine 3.10.0 released Alpine Linux. June 9, 2020. alpinelinux.org.
  29. Web site: dotnet/core. June 9, 2020. GitHub. en.
  30. Web site: Announcing .NET 5.0. .NET Blog. Microsoft. November 10, 2020.
  31. Web site: .NET framework supports different programming languages . 2022-04-21.
  32. Web site: Visual Basic in .NET Core 3.0 Visual Basic Blog . Blogs.msdn.microsoft.com . October 12, 2019 . January 18, 2020.
  33. Web site: Visual Basic support planned for .NET 5.0 Visual Basic Blog . Blogs.msdn.microsoft.com . March 11, 2020 . August 26, 2020.
  34. Web site: Carter . Phillip . Knezevic . Zlatko . .NET Core – .NET Goes Cross-Platform with .NET Core . . . April 2016 . 13 . 4.
  35. Web site: Lander . Rich . .NET Core 3 and Support for Windows Desktop Applications . . . May 7, 2018.
  36. Web site: December 3, 2020. .NET Core 2.1, 3.1, and .NET 5.0 updates are coming to Microsoft Update. December 15, 2020. .NET Blog. en-US.
  37. Web site: Understanding .NET Framework, .NET Core, .NET Standard And Future .NET. February 1, 2021. www.c-sharpcorner.com. en.
  38. Web site: Landwerth . Immo . CoreCLR is now Open Source . .NET Framework Blog . . February 27, 2015 . February 3, 2015.
  39. Web site: Ramel. David. August 31, 2020. Microsoft Survey: Developers Held Back by Lack of 'Native AOT' in .NET Core -. live. https://web.archive.org/web/20201022100947/https://visualstudiomagazine.com/articles/2020/08/31/aot-survey.aspx. October 22, 2020. February 1, 2021. Visual Studio Magazine. en-US.
  40. Web site: Landwerth . Immo . Introducing .NET Core . .NET Framework Blog . . February 27, 2015 . December 4, 2014.
  41. Web site: Intro to .NET Native and CoreRT . . April 23, 2016.
  42. Web site: Intro to CLI . . April 23, 2016.
  43. Web site: What is .NET MAUI? - .NET MAUI . 2022-11-08 . learn.microsoft.com . en-us.
  44. Wang, Abel . September 9, 2020 . What is the dotnet bot? . Podcast . English . March 9, 2021 . 4 seconds in . Microsoft.