.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]
Developer(s) | .NET Foundation |
---|---|
Initial release | June 27, 2016 |
Stable release | 3.1.6 (July 14, 2020[1]) [±] |
Preview release | 5.0.0-preview.7[2]
/ July 21, 2020 |
Repository | |
Written in | C++ and C# |
Operating system | Windows, Linux and macOS |
Type | Software framework |
License | MIT License[3] |
Website | dotnet |
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.0 | 2016-06-27[19] | Visual Studio 2015 Update 3 | 1.0.16 | 2019-05-14 | June 27, 2019 |
.NET Core 1.1 | 2016-11-16[20] | Visual Studio 2017 Version 15.0 | 1.1.13 | 2019-05-14 | June 27, 2019 |
.NET Core 2.0 | 2017-08-14[11] | Visual Studio 2017 Version 15.3 | 2.0.9 | 2018-07-10 | October 1, 2018 |
.NET Core 2.1 | 2018-05-30[12] | Visual Studio 2017 Version 15.7 | 2.1.19 (LTS) | 2020-06-09 | August 21, 2021 |
.NET Core 2.2 | 2018-12-04[13] | Visual Studio 2019 Version 16.0 | 2.2.8 | 2019-11-19 | December 23, 2019 |
.NET Core 3.0 | 2019-09-23[21] | Visual Studio 2019 Version 16.3 | 3.0.3 | 2020-02-18 | March 3, 2020 |
.NET Core 3.1 | 2019-12-03[22] | Visual Studio 2019 Version 16.4 | 3.1.6 (LTS) | 2020-07-14 | December 3, 2022 |
.NET 5[16] | 2020-11 (projected) | 5.0 Preview 7 | 2020-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
.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
- 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]
References
- "Download .NET Core". Retrieved 2020-07-23.
- https://dotnet.microsoft.com/download/dotnet/5.0
- "core/LICENSE.TXT". GitHub. Retrieved 2018-06-04.
- "Download .NET Core". microsoft.com. Microsoft. Retrieved 31 October 2017.
- ".NET Core is the Future of .NET".
- ".NET Framework is dead -- long live .NET 5".
- Landwerth, Immo (November 12, 2014). ".NET Core is Open Source". Devnetblogs. Microsoft. Retrieved 2019-06-24.
- Bright, Peter (27 June 2016). ".NET Core 1.0 released, now officially supported by Red Hat". Ars Technica. Condé Nast.
- Foley, Mary Jo (27 June 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. Retrieved 2020-01-18.
- "Announcing .NET Core 2.0". .NET Blog. 14 August 2017.
- "Announcing .NET Core 2.1". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
- "Announcing .NET Core 2.2". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
- ".NET Core is the Future of .NET". .NET Blog. 2019-05-06. Retrieved 2019-05-17.
- "What you should know about .NET Core". intelegain.com. Archived from the original on 22 November 2018. Retrieved 22 November 2018.
- Introducing .NET 5
- "Announcing .NET 5 Preview 1". .NET Blog. 2020-03-16. Retrieved 2020-03-19.
- ".NET Core official support policy". .NET. 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.
- "Alpine 3.10.0 released | Alpine Linux". alpinelinux.org. Retrieved 2020-06-09.
- "dotnet/core". GitHub. Retrieved 2020-06-09.
- "Visual Basic in .NET Core 3.0 | Visual Basic Blog". Blogs.msdn.microsoft.com. 2019-10-12. Retrieved 2020-01-18.
- Carter, Phillip; Knezevic, Zlatko (April 2016). ".NET Core - .NET Goes Cross-Platform with .NET Core". MSDN Magazine. Microsoft.
- Schmelzer, Jay (18 November 2015). ".NET 2015 Overview". Channel 9. Microsoft. 0:07:32.
- Lander, Rich (7 May 2018). ".NET Core 3 and Support for Windows Desktop Applications". MSDN. Microsoft.
- Landwerth, Immo (3 February 2015). "CoreCLR is now Open Source". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
- "Why RyuJIT? How was the name chosen?". nuWave eSolutions Development Team Blog. Retrieved 21 June 2016.
- Landwerth, Immo (4 December 2014). "Introducing .NET Core". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
- "Intro to .NET Native and CoreRT". 23 April 2016.
- "Intro to CLI". 23 April 2016.
External links
Wikibooks has a book on the topic of: .NET Development Foundation |
Wikiversity has learning resources about Introduction to Microsoft.NET |