.NET Core

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
.NET Core
.NET Core Logo.svg
Developer(s).NET Foundation
Initial releaseJune 27, 2016; 3 years ago (2016-06-27)
Stable release3.1.1 (January 15, 2020; 8 days ago (2020-01-15)[1][2]) [±]
Preview release3.1 Preview 3 (November 14, 2019; 2 months ago (2019-11-14)[3]) [±]
Repository Edit this at Wikidata
Written inC++ and C#
Operating systemWindows, Linux and macOS
TypeSoftware framework
LicenseMIT License[4]
Websitedotnet.microsoft.com

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

History[edit]

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

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

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

The next release after .NET Core 3.1 will be .NET 5. The .NET Framework will be deprecated, and .NET 5 will be the only .NET going forward – hence the removal of the "Core" branding and skipping of version 4 to avoid confusion with the .NET Framework 4.x.[17]

Version Release date Released with Latest update Latest update date Support Ends[18]
.NET Core 1.0 2016-06-27[19] Visual Studio 2015 Update 3 1.0.16 2019-05-14 Old version, no longer maintained: June 27, 2019
.NET Core 1.1 2016-11-16[20] Visual Studio 2017 Version 15.0 1.1.13 2019-05-14 Old version, no longer maintained: June 27, 2019
.NET Core 2.0 2017-08-14[21] Visual Studio 2017 Version 15.3 2.0.9 2018-07-10 Old version, no longer maintained: October 1, 2018
.NET Core 2.1 2018-05-30[22] Visual Studio 2017 Version 15.7 2.1.15[23] 2020-01-15 Older version, yet still maintained: August 21, 2021
.NET Core 2.2 2018-12-04[24] Visual Studio 2019 Version 16.0 2.2.8[25] 2019-11-19 Old version, no longer maintained: December 23, 2019
.NET Core 3.0 2019-09-23[26] Visual Studio 2019 Version 16.3 3.0.2[27] 2020-01-15 Older version, yet still maintained: March 3, 2020
.NET Core 3.1 2020-01-15[27] Visual Studio 2019 Version 16.4 3.1.1[29] 2020-01-15 Current stable version: Supported
.NET 5[30] 2020-11 (projected)

Language support[edit]

.NET Core fully supports C# and F# (and C++/CLI as of 3.1; only enabled on Windows) and partially supports Visual Basic .NET.

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

Architecture[edit]

.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;[32][33] however, .NET Core 3 supports desktop technologies WinForms, WPF and Universal Windows Platform (UWP).[34] .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.[32][33]

Similar to how the .NET Framework implements the Common Language Infrastructure (CLI) via the Common Language Runtime (CLR) and the Framework Class Library (FCL), the two main components of .NET Core are CoreCLR and CoreFX, respectively.

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.[35][a] .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,[37] CoreFX shares a subset of .NET Framework APIs, however, it also comes with its own APIs that are not part of the .NET Framework.[32] A variant of the .NET Core library is used for UWP.[38]

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

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 and a character from the video game Street Fighter.[36]

References[edit]

  1. ^ a b "Releases · dotnet/core · GitHub".
  2. ^ ".NET Core January 2020 Updates – 2.1.15, 3.0.2, and 3.1.1". .NET Blog. 14 January 2020.
  3. ^ "Announcing .NET Core 3.1 Preview 3". .NET Blog. 14 November 2019.
  4. ^ a b "core/LICENSE.TXT". GitHub. Retrieved 2018-06-04.
  5. ^ "Download .NET Core". microsoft.com. Microsoft. Retrieved 31 October 2017.
  6. ^ ".NET Core is the Future of .NET".
  7. ^ ".NET Framework is dead -- long live .NET 5".
  8. ^ Landwerth, Immo (November 12, 2014). ".NET Core is Open Source". Devnetblogs. Microsoft. Retrieved 2019-06-24.
  9. ^ Bright, Peter (27 June 2016). ".NET Core 1.0 released, now officially supported by Red Hat". Ars Technica. Condé Nast.
  10. ^ Foley, Mary Jo (27 June 2016). "Microsoft showcases SQL Server, .NET Core on Red Hat Enterprise Linux deliverables". ZDNet. CBS Interactive.
  11. ^ "Announcing .NET Core Tools 1.0 | .NET Blog". Blogs.msdn.microsoft.com. Retrieved 2020-01-18.
  12. ^ "Announcing .NET Core 2.0". .NET Blog. 14 August 2017.
  13. ^ "Announcing .NET Core 2.1". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
  14. ^ "Announcing .NET Core 2.2". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
  15. ^ ".NET Core is the Future of .NET". .NET Blog. 2019-05-06. Retrieved 2019-05-17.
  16. ^ "What you should know about .NET Core". intelegain.com. Archived from the original on 22 November 2018. Retrieved 22 November 2018.
  17. ^ "Introducing .NET 5".
  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 2.0". .NET Blog. Microsoft. August 14, 2017.
  22. ^ "Announcing .NET Core 2.1". .NET Blog. Microsoft. May 30, 2018.
  23. ^ ".NET Core January 2020 Updates – 2.1.15, 3.0.2, and 3.1.1". .NET Blog. 14 January 2020.
  24. ^ "Announcing .NET Core 2.2". .NET Blog. Microsoft. December 4, 2018.
  25. ^ ".NET Core November 2019 Updates - 2.1.14, 2.2.8, and 3.0.1". .NET Blog. 19 November 2019.
  26. ^ "Announcing .NET Core 3.0". .NET Blog. Microsoft. September 23, 2019.
  27. ^ a b "Announcing .NET Core 3.1". .NET Blog. Microsoft. December 3, 2019.
  28. ^ ".NET Core January 2020 Updates – 2.1.15, 3.0.2, and 3.1.1". .NET Blog. 14 January 2020.
  29. ^ "Visual Studio 2019 Release Notes History | Microsoft Docs". Docs.microsoft.com. 2019-12-03. Retrieved 2020-01-18.
  30. ^ Introducing .NET 5
  31. ^ "Visual Basic in .NET Core 3.0 | Visual Basic Blog". Blogs.msdn.microsoft.com. 2019-10-12. Retrieved 2020-01-18.
  32. ^ a b c Carter, Phillip; Knezevic, Zlatko (April 2016). ".NET Core - .NET Goes Cross-Platform with .NET Core". MSDN Magazine. Microsoft.
  33. ^ a b Schmelzer, Jay (18 November 2015). ".NET 2015 Overview". Channel 9. Microsoft. 0:07:32.
  34. ^ Lander, Rich (7 May 2018). ".NET Core 3 and Support for Windows Desktop Applications". MSDN. Microsoft.
  35. ^ Landwerth, Immo (3 February 2015). "CoreCLR is now Open Source". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
  36. ^ "Why RyuJIT? How was the name chosen?". nuWave eSolutions Development Team Blog. Retrieved 21 June 2016.
  37. ^ Landwerth, Immo (4 December 2014). "Introducing .NET Core". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
  38. ^ "Intro to .NET Native and CoreRT". 23 April 2016.
  39. ^ "Intro to CLI". 23 April 2016.

External links[edit]