Is .NET Framework 6 or core?

.NET

Is .NET Framework 6 or core?
Developer(s).NET Foundation and the open-source community
Initial releaseJune 27, 2016; 6 years ago
Stable release

7.0.1[1] 

Is .NET Framework 6 or core?
/ 13 December 2022; 14 days ago

Repository

  • github.com/dotnet/core
    Is .NET Framework 6 or core?

Written inC++ and C#
Operating systemWindows, Linux, macOS and Android and iOS
PlatformIA-32, x86-64, s390x and ARM,
Predecessor.NET Framework
TypeSoftware framework
LicenseMIT License[2]
Websitedotnet.microsoft.com

.NET (pronounced as "dot net"; previously named .NET Core) is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems.[3] It is a cross-platform[4] successor to .NET Framework.[5] The project is primarily developed by Microsoft employees by way of the .NET Foundation, and released under the MIT License.[2]

.NET MAUI also supports Android and iOS (also with .NET 6), i.e. ".NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML."[6]

History[edit]

On November 12, 2014, Microsoft announced .NET Core, in an effort to include cross-platform support for .NET, including Linux and macOS, source for the .NET Core CoreCLR implementation, source for the "entire [...] library stack" for .NET Core,[7] and 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",[8] 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.[9][10][11]

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

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

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

In November 2020, Microsoft released .NET 5.0. The "Core" branding was removed and version 4.0 was skipped to avoid conflation with .NET Framework, which remains the Windows-specific product. It addresses the patent concerns related to the .NET Framework.[20]

In November 2021, Microsoft released .NET 6.0,[21] and in November 2022 released .NET 7.0,[22] but only the former is a long-term support (LTS) release.

Version Release date Released with Latest update Latest update date Support ends[23]
.NET Core 1.0 2016-06-27[24] Visual Studio 2015 Update 3 1.0.16 May 14, 2019 June 27, 2019
.NET Core 1.1 2016-11-16[25] Visual Studio 2017 Version 15.0 1.1.13 May 14, 2019 June 27, 2019
.NET Core 2.0 2017-08-14[26] Visual Studio 2017 Version 15.3 2.0.9 July 10, 2018 October 1, 2018
.NET Core 2.1 2018-05-30[27] Visual Studio 2017 Version 15.7 2.1.30 (LTS) August 19, 2021 August 21, 2021
.NET Core 2.2 2018-12-04[28] Visual Studio 2019 Version 16.0 2.2.8 November 19, 2019 December 23, 2019
.NET Core 3.0 2019-09-23[29] Visual Studio 2019 Version 16.3 3.0.3 February 18, 2020 March 3, 2020
.NET Core 3.1 2019-12-03[30] Visual Studio 2019 Version 16.4 3.1.32 (LTS) December 13, 2022 December 13, 2022
.NET 5 2020-11-10[31] Visual Studio 2019 Version 16.8 5.0.17 May 10, 2022 May 10, 2022
.NET 6 2021-11-08[32] Visual Studio 2022 Version 17.0 6.0.12 (LTS) December 13, 2022 November 12, 2024
.NET 7 2022-11-08[33] Visual Studio 2022 Version 17.4 7.0.1 December 13, 2022 May 14, 2024
.NET 8 2023-11 (projected) (will be LTS) November 2026 (projected)

Old version

Older version, still maintained

Latest version

Future release

.NET supports Alpine Linux (Alpine primarily supports and uses musl libc[34]), i.e. since .NET Core 2.1.[35]

As of .NET 5, Windows Arm64 is natively supported. Previously, .NET on ARM was applications compiled for the x86 architecture, thereby meaning the applications were using the ARM emulation layer.[36]

Language support[edit]

Is .NET Framework 6 or core?

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

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.[38][39]

Architecture[edit]

.NET supports four 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.[40] Now, however, .NET Core 3 supports desktop technologies Windows Forms, WPF, and Universal Windows Platform (UWP).[41] 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 relies on its package manager to receive updates.[40] Starting in December 2020, however, .NET updates started being delivered via Windows Update as well.[42]

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

As a CLI implementation of 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.[44][a] .NET Core also contains CoreRT, the .NET Native runtime optimized to be integrated into AOT compiled native binaries.[46]

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

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

Mascot[edit]

Is .NET Framework 6 or core?

dotnet bot, the community mascot for .NET

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

Notes[edit]

  1. ^ 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.[45]

References[edit]

  1. ^ https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core.
  2. ^ a b "core/LICENSE.TXT". GitHub. Retrieved June 4, 2018.
  3. ^ "Download .NET Core". microsoft.com. Microsoft. Retrieved October 31, 2017.
  4. ^ ".NET Core is the Future of .NET". May 6, 2019.
  5. ^ ".NET Framework is dead – long live .NET 5". May 7, 2019.
  6. ^ "What is .NET MAUI? - .NET MAUI". learn.microsoft.com. Retrieved November 8, 2022.
  7. ^ "Why a .NET Development Company Could Be the Perfect Boost | Pangea.ai". www.pangea.ai. Retrieved December 8, 2022.
  8. ^ de Icaza, Miguel. "Microsoft Open Sources .NET and Mono". Personal blog of Miguel de Icaza. Retrieved November 16, 2014.
  9. ^ Landwerth, Immo (November 12, 2014). ".NET Core is Open Source". .NET Framework Blog. Microsoft. Retrieved December 30, 2014.
  10. ^ "dotnet/corefx". GitHub. Retrieved November 16, 2014.
  11. ^ "Microsoft/referencesource". GitHub. Retrieved November 16, 2014.
  12. ^ Bright, Peter (June 27, 2016). ".NET Core 1.0 released, now officially supported by Red Hat". Ars Technica. Condé Nast.
  13. ^ Foley, Mary Jo (June 27, 2016). "Microsoft showcases SQL Server, .NET Core on Red Hat Enterprise Linux deliverables". ZDNet. CBS Interactive.
  14. ^ "Announcing .NET Core Tools 1.0 | .NET Blog". Blogs.msdn.microsoft.com. March 7, 2017. Retrieved January 18, 2020.
  15. ^ "Announcing .NET Core 2.0". .NET Blog. Microsoft. August 14, 2017.
  16. ^ "Announcing .NET Core 2.1". .NET Blog. Microsoft. May 30, 2018.
  17. ^ "Announcing .NET Core 2.2". .NET Blog. Microsoft. December 4, 2018.
  18. ^ ".NET Core is the Future of .NET". .NET Blog. May 6, 2019. Retrieved May 17, 2019.
  19. ^ "What's new in .NET Core 3.0". .NET documentation. Retrieved December 30, 2020.
  20. ^ "Announcing .NET 5.0". .NET Blog. November 10, 2020. Retrieved November 21, 2020.
  21. ^ Lander, Richard (November 8, 2021). "Announcing .NET 6 – The Fastest .NET Yet". .NET Blog. Retrieved May 6, 2022.
  22. ^ Douglas, Jon (November 8, 2022). ".NET 7 is Available Today". .NET Blog. Retrieved December 7, 2022.
  23. ^ ".NET Core official support policy". .NET. Microsoft.
  24. ^ "Announcing .NET Core 1.0". .NET Blog. Microsoft. June 27, 2016.
  25. ^ "Announcing .NET Core 1.1". .NET Blog. Microsoft. November 16, 2016.
  26. ^ "Announcing .NET Core 2.0". .NET Blog. Microsoft. August 14, 2017.
  27. ^ "Announcing .NET Core 2.1". .NET Blog. Microsoft. May 30, 2018.
  28. ^ "Announcing .NET Core 2.2". .NET Blog. Microsoft. December 4, 2018.
  29. ^ "Announcing .NET Core 3.0". .NET Blog. Microsoft. September 23, 2019.
  30. ^ "Announcing .NET Core 3.1". .NET Blog. Microsoft. December 3, 2019.
  31. ^ "Announcing .NET 5.0". .NET Blog. Microsoft. November 10, 2020.
  32. ^ "Announcing .NET 6". .NET Blog. Microsoft. November 8, 2021.
  33. ^ Douglas, Jon (November 8, 2022). ".NET 7 is Available Today". .NET Blog. Retrieved December 7, 2022.
  34. ^ "Alpine 3.10.0 released | Alpine Linux". alpinelinux.org. Retrieved June 9, 2020.
  35. ^ "dotnet/core". GitHub. Retrieved June 9, 2020.
  36. ^ "Announcing .NET 5.0". .NET Blog. Microsoft. November 10, 2020.
  37. ^ ".NET framework supports different programming languages". Retrieved April 21, 2022.
  38. ^ "Visual Basic in .NET Core 3.0 | Visual Basic Blog". Blogs.msdn.microsoft.com. October 12, 2019. Retrieved January 18, 2020.
  39. ^ "Visual Basic support planned for .NET 5.0 | Visual Basic Blog". Blogs.msdn.microsoft.com. March 11, 2020. Retrieved August 26, 2020.
  40. ^ a b c Carter, Phillip; Knezevic, Zlatko (April 2016). ".NET Core – .NET Goes Cross-Platform with .NET Core". MSDN Magazine. Microsoft.
  41. ^ Lander, Rich (May 7, 2018). ".NET Core 3 and Support for Windows Desktop Applications". MSDN. Microsoft.
  42. ^ ".NET Core 2.1, 3.1, and .NET 5.0 updates are coming to Microsoft Update". .NET Blog. December 3, 2020. Retrieved December 15, 2020.
  43. ^ "Understanding .NET Framework, .NET Core, .NET Standard And Future .NET". www.c-sharpcorner.com. Retrieved February 1, 2021.
  44. ^ Landwerth, Immo (February 3, 2015). "CoreCLR is now Open Source". .NET Framework Blog. Microsoft. Retrieved February 27, 2015.
  45. ^ "Why RyuJIT? How was the name chosen?". nuWave eSolutions Development Team Blog. November 25, 2014. Retrieved June 21, 2016.
  46. ^ 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. Retrieved February 1, 2021.
  47. ^ Landwerth, Immo (December 4, 2014). "Introducing .NET Core". .NET Framework Blog. Microsoft. Retrieved February 27, 2015.
  48. ^ "Intro to .NET Native and CoreRT". GitHub. April 23, 2016.
  49. ^ "Intro to CLI". GitHub. April 23, 2016.
  50. ^ Wang, Abel (September 9, 2020). What is the dotnet bot? (Podcast). Microsoft. Event occurs at 4 seconds in. Retrieved March 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.
  • Official website
    Is .NET Framework 6 or core?
  • Overview of .NET Framework (MSDN)
  • .NET GitHub repository

Is .NET 6 still .NET Core?

While support for . NET Core 3.1 ends in December 2022, support for . NET 6 will continue until November 2024.

Is .NET Core same as .NET Framework?

NET Framework includes the developer tools, languages, and libraries needed to develop Windows applications. . NET Core is a complete rewrite intended to make it a more flexible, cross-platform, modular approach to application development.

Is .NET 6 the same as .NET Framework?

NET 6 can run on natively Mac and Linux, . NET Framework cannot and you would need a third-party runtime like Mono for that capability. . NET 6 you can compile the framework into your application so the separate framework does not need to be installed to run your app. .

What's the difference between .NET Framework .NET Core and .NET 6?

. Net Core does not support desktop application development and it rather focuses on the web, windows mobile, and windows store. . Net Framework is used for the development of both desktop and web applications as well as it supports windows forms and WPF applications.