.NET Core

.NET Core is a free and open-source managed computer software framework for the Windows, Linux, and macOS operating systems.[3] .NET Core fully supports C# and F# 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.[4] As of October 2018, C++/CLI is not yet supported,[5] although support is planned on Windows.[6]

History

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

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

.NET Core 3 was announced on May 7, 2018, at Microsoft Build. The first public preview was released on December 4, 2018,[13] the second public preview was released on February 1, 2019.[14] An official release is planned for 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]

Architecture

.NET Core supports four cross-platform scenarios: ASP.NET Core web apps, command-line apps, libraries, and Universal Windows Platform apps. It does not currently implement Windows Forms or WPF which render the standard GUI for desktop software on Windows.[17][18] Microsoft announced in 2018 that .NET Core 3 will support desktop technologies WinForms, WPF and UWP.[15] .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.[17][18]

It consists of CoreCLR, a complete runtime implementation of the Common Language Runtime, which originated at Microsoft as the virtual machine for managing execution of .NET programs and includes a just-in-time compiler called RyuJIT.[19][a] .NET Core also contains CoreRT, the .NET Native runtime optimized to be integrated into AOT compiled native binaries.

.NET Core also includes CoreFX, which is a partial fork of .NET Framework standard libraries.[21] While .NET Core shares a subset of .NET Framework APIs, it comes with its own API that is not part of .NET Framework.[17] A variant of the .NET Core library is used for UWP.[22]

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

Notes

  1. ^ The prefix "Ryu" is the Japanese word for "dragon" (竜, ryū), and is a reference to The Dragon Book.[20]

References

  1. ^ a b "Releases dotnet/core". GitHub.
  2. ^ "core/LICENSE.TXT". GitHub. Retrieved 2018-06-04.
  3. ^ "Download .NET Core". microsoft.com. Microsoft. Retrieved 31 October 2017.
  4. ^ https://blogs.msdn.microsoft.com/vbteam/2018/11/12/visual-basic-in-net-core-3-0/
  5. ^ https://github.com/dotnet/coreclr/issues/659
  6. ^ https://github.com/dotnet/coreclr/issues/18013#issuecomment-432430625
  7. ^ Bright, Peter (27 June 2016). ".NET Core 1.0 released, now officially supported by Red Hat". Ars Technica. Condé Nast.
  8. ^ Foley, Mary Jo (27 June 2016). "Microsoft showcases SQL Server, .NET Core on Red Hat Enterprise Linux deliverables". ZDNet. CBS Interactive.
  9. ^ https://blogs.msdn.microsoft.com/dotnet/2017/03/07/announcing-net-core-tools-1-0/
  10. ^ "Announcing .NET Core 2.0". .NET Blog. 14 August 2017.
  11. ^ L, Rich; er. "Announcing .NET Core 2.1". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
  12. ^ L, Rich; er. "Announcing .NET Core 2.2". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
  13. ^ Martin, Jeff (4 December 2018). "Microsoft Open Sources WPF, WinForms, and WinUI". InfoQ. Retrieved 2018-12-06.
  14. ^ L, Rich; er. "Announcing .NET Core 3 Preview 2". blogs.msdn.microsoft.com. Retrieved 2019-02-15.
  15. ^ a b Lander, Rich (7 May 2018). ".NET Core 3 and Support for Windows Desktop Applications". MSDN. Microsoft.
  16. ^ "What you should know about .NET Core". intelegain.com. Archived from the original on 22 November 2018. Retrieved 22 November 2018.
  17. ^ a b c Carter, Phillip; Knezevic, Zlatko (April 2016). ".NET Core - .NET Goes Cross-Platform with .NET Core". MSDN Magazine. Microsoft.
  18. ^ a b Schmelzer, Jay (18 November 2015). ".NET 2015 Overview". Channel 9. Microsoft. 0:07:32.
  19. ^ Landwerth, Immo (3 February 2015). "CoreCLR is now Open Source". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
  20. ^ "Why RyuJIT? How was the name chosen?". nuWave eSolutions Development Team Blog. Retrieved 21 June 2016.
  21. ^ Landwerth, Immo (4 December 2014). "Introducing .NET Core". .NET Framework Blog. Microsoft. Retrieved 27 February 2015.
  22. ^ "Intro to .NET Native and CoreRT". 23 April 2016.
  23. ^ "Intro to CLI". 23 April 2016.

External links