.NET Core

.NET Core is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems.[4] It is a cross-platform[5] successor to .NET Framework.[6] The project is primarily developed by Microsoft and released under the MIT License.[3]

.NET Core
Developer(s).NET Foundation
Initial releaseJune 27, 2016 (2016-06-27)
Stable release3.1.6 (July 14, 2020 (2020-07-14)[1]) [±]
Preview release
5.0.0-preview.7[2] / July 21, 2020 (2020-07-21)
Repository
Written inC++ and C#
Operating systemWindows, Linux and macOS
TypeSoftware framework
LicenseMIT License[3]
Websitedotnet.microsoft.com

History

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

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

.NET Core 3 was announced on May 7, 2019, at Microsoft Build. Version 3.0.0 was released September 23, 2019.[14] With .NET Core 3, the framework supports development of desktop application software, artificial intelligence/machine learning and IoT apps.[15]

The next release after .NET Core 3.1 will be .NET 5. The .NET Framework will not receive any further major versions, and .NET 5 will be the only .NET meant for new applications going forward  hence the removal of the "Core" branding and skipping of version 4 to avoid confusion with the .NET Framework 4.x.[16] The first preview of .NET 5 was released on March 16, 2020.[17]

Version Release date Released with Latest update Latest update date Support Ends[18]
.NET Core 1.02016-06-27[19]Visual Studio 2015 Update 31.0.162019-05-14Old version, no longer maintained: June 27, 2019
.NET Core 1.12016-11-16[20]Visual Studio 2017 Version 15.01.1.132019-05-14Old version, no longer maintained: June 27, 2019
.NET Core 2.02017-08-14[11]Visual Studio 2017 Version 15.32.0.92018-07-10Old version, no longer maintained: October 1, 2018
.NET Core 2.12018-05-30[12]Visual Studio 2017 Version 15.72.1.19 (LTS)2020-06-09Older version, yet still maintained: August 21, 2021
.NET Core 2.22018-12-04[13]Visual Studio 2019 Version 16.02.2.82019-11-19Old version, no longer maintained: December 23, 2019
.NET Core 3.02019-09-23[21]Visual Studio 2019 Version 16.33.0.32020-02-18Old version, no longer maintained: March 3, 2020
.NET Core 3.12019-12-03[22]Visual Studio 2019 Version 16.43.1.6 (LTS)2020-07-14Current stable version: December 3, 2022
.NET 5[16]2020-11 (projected)5.0 Preview 72020-07-21
.NET 6[16]2021-11 (projected)(LTS)
.NET 7[16]2022-11 (projected)
.NET 8[16]2023-11 (projected)(LTS)

.NET Core supports Alpine Linux (i.e. musl libc it uses[23]).[24]

Language support

dotnet-bot, the community mascot for .NET

.NET Core 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).

Currently VB.NET compiles and runs on .NET Core, but the separate Visual Basic Runtime is not implemented. Microsoft announced that .NET Core 3 would include the Visual Basic Runtime, after two years the announcement was updated to .NET 5.[25]

Architecture

.NET Core supports four cross-platform scenarios: ASP.NET Core web apps; command-line 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.[26][27] Now, however, .NET Core 3 supports desktop technologies Windows Forms, WPF, and Universal Windows Platform (UWP).[28]

.NET Core supports use of NuGet packages. Unlike .NET Framework, which is serviced using Windows Update, .NET Core relies on its package manager to receive updates.[26][27]

The two main components of .NET Core are CoreCLR and CoreFX, respectively, 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.

As a CLI implementation of Virtual Execution System (VES), CoreCLR is a complete runtime and virtual machine for managed execution of .NET programs and includes a just-in-time compiler called RyuJIT.[29][lower-alpha 1] .NET Core also contains CoreRT, the .NET Native runtime optimized to be integrated into AOT compiled native binaries.

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

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

Notes

  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.[30]
gollark: Probably.
gollark: It's not like flat earth and mind control nanobot vaccines would be fixed by learning science more at school or something, they're failures of critical thinking.
gollark: Oops.
gollark: No, Rust is a perfect programming language with no flaws.
gollark: Because that's a metal and already used for baseball bats?

References

  1. "Download .NET Core". Retrieved 2020-07-23.
  2. https://dotnet.microsoft.com/download/dotnet/5.0
  3. "core/LICENSE.TXT". GitHub. Retrieved 2018-06-04.
  4. "Download .NET Core". microsoft.com. Microsoft. Retrieved 31 October 2017.
  5. ".NET Core is the Future of .NET".
  6. ".NET Framework is dead -- long live .NET 5".
  7. Landwerth, Immo (November 12, 2014). ".NET Core is Open Source". Devnetblogs. Microsoft. Retrieved 2019-06-24.
  8. Bright, Peter (27 June 2016). ".NET Core 1.0 released, now officially supported by Red Hat". Ars Technica. Condé Nast.
  9. Foley, Mary Jo (27 June 2016). "Microsoft showcases SQL Server, .NET Core on Red Hat Enterprise Linux deliverables". ZDNet. CBS Interactive.
  10. "Announcing .NET Core Tools 1.0 | .NET Blog". Blogs.msdn.microsoft.com. Retrieved 2020-01-18.
  11. "Announcing .NET Core 2.0". .NET Blog. 14 August 2017.
  12. "Announcing .NET Core 2.1". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
  13. "Announcing .NET Core 2.2". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
  14. ".NET Core is the Future of .NET". .NET Blog. 2019-05-06. Retrieved 2019-05-17.
  15. "What you should know about .NET Core". intelegain.com. Archived from the original on 22 November 2018. Retrieved 22 November 2018.
  16. Introducing .NET 5
  17. "Announcing .NET 5 Preview 1". .NET Blog. 2020-03-16. Retrieved 2020-03-19.
  18. ".NET Core official support policy". .NET. Microsoft.
  19. "Announcing .NET Core 1.0". .NET Blog. Microsoft. June 27, 2016.
  20. "Announcing .NET Core 1.1". .NET Blog. Microsoft. November 16, 2016.
  21. "Announcing .NET Core 3.0". .NET Blog. Microsoft. September 23, 2019.
  22. "Announcing .NET Core 3.1". .NET Blog. Microsoft. December 3, 2019.
  23. "Alpine 3.10.0 released | Alpine Linux". alpinelinux.org. Retrieved 2020-06-09.
  24. "dotnet/core". GitHub. Retrieved 2020-06-09.
  25. "Visual Basic in .NET Core 3.0 | Visual Basic Blog". Blogs.msdn.microsoft.com. 2019-10-12. Retrieved 2020-01-18.
  26. Carter, Phillip; Knezevic, Zlatko (April 2016). ".NET Core - .NET Goes Cross-Platform with .NET Core". MSDN Magazine. Microsoft.
  27. Schmelzer, Jay (18 November 2015). ".NET 2015 Overview". Channel 9. Microsoft. 0:07:32.
  28. Lander, Rich (7 May 2018). ".NET Core 3 and Support for Windows Desktop Applications". MSDN. Microsoft.
  29. Landwerth, Immo (3 February 2015). "CoreCLR is now Open Source". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
  30. "Why RyuJIT? How was the name chosen?". nuWave eSolutions Development Team Blog. Retrieved 21 June 2016.
  31. Landwerth, Immo (4 December 2014). "Introducing .NET Core". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
  32. "Intro to .NET Native and CoreRT". 23 April 2016.
  33. "Intro to CLI". 23 April 2016.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.