The Microsoft .NET Core Framework is a free, open-source and managed framework for Windows, Linux, macOS and can also be used to build devices, cloud, and IoT applications. The framework provides a way to write code once and execute on any platform and brings a whole new set of possibilities that did not exist previously with the .NET Framework. The .NET Core is being continuously developed and new features and enhancements are being added with every new .NET Core versions. In this blog, let us explore the features and enhancements added to every major release.
Microsoft released a new .NET Core Framework in June 2016 and started to port the features provided by the .NET Framework to .NET Core in subsequent releases. In this blog post, we will look into the .NET Core versions releases, features, and enhancement done in the same.
At the time of writing the current version of .NET Core Framework is 3.1 and it is an LTS (Long Term Support) version. The LTS release will be supported for three years from the time of release. So, using this version in production will be a good choice because of its Long Term Support commitment. The current version can be downloaded from Microsoft site here
The major difference between the .NET Framework and .NET Core Framework
Microsoft released the initial version of .NET Framework in 2002, from then the framework has come a long way, enhancement and new features have been added on its subsequent releases. .NET Core is relatively new compared to the .NET Framework and there are fewer features than the .NET Framework. Let us see the major difference between them. (at the time of writing .NET Version is 4.8 and that of the .NET core is 3.1)
- App-Models: The .NET Core does not support all the application models provided by the .NET Framework, such as ASP.NET Web Forms, ASP.NET MVC, but have its own ASP.NET Core MVC. Starting from v3.0 it has added support for Windows Presentation Foundation (WPF) and Windows Forms currently for Windows platform only.
- APIs: The .NET Core has a larger subset of .NET Framework Base Class Library, and they are refactored from the .NET Framework version having different assembly names and may differ on member type in some cases. .NET Core implements the .NET Standard API specification.
- Supported Platform: The .NET Core supports all three major platforms Windows, Linux and macOS where .NET Framework supports Windows.
- Framework Subsystem: The .NET Core is written with a simple goal to simpler and implementation and programming model and does not implement all the .NET Framework subsystems, such as the Code Access Security is not supported by the .NET Core platform.
- Open Source: The .NET Core is the free and open-source and the source code is available at Github, whereas only a few of the subsystem is read-only open-sourced in .NET Framework.
The .NET Core Versions
The table lists all the .NET Core versions and does not list the preview version information.
|version||date||VS version||end of support||features|
|v1.0||27- Jun-2016||VS 2015 – Update 3||27-Jun-2019||Initial release, cross-platform, flexible deployment, open-source, cli-tool, ASP.NET Core, UWP, Xamarin.Forms|
|v1.1||16-Nov-2016||VS 2017 v15.0||27-Jun-2019||New Linux distros support Improved ASP.NET Core Kestrel server, Azure support, and EF Core support for Azure and SQL 2016 and new APIs addition.|
|v2.0||14-Aug-2017||VS 2017 v15.3||1-Oct-2018||Implements .NET Standard 2.0, 6 new distros support, RyuJIT is x86 JIT in Core 2.0, dotnet restore now an implicit command.|
|v2.1||30-May-2018||VS 2017 v15.7||21-Aug-2021||LTS support, Superior performance, and quality, additional distro support such as Ubuntu 18.04, Alpine, ARM32, etc.|
|v2.2||4-Dec-2018||VS 2019 v16.0||23-Dec-2019||Runtime diagnostics improvements, support for ARM32 for Windows and Azure Active Directory for SQL client.|
|v3.0||23-sep-2019||VS 2017 v16.3||3-Mar-2020||Tested on dot.net and bing.com, performance improved greatly, WPF and WinForms support (currently Windows only), support for executable, high-performance APIs, less memory footprint garbage collector, Raspberry Pi, and ARM support added.|
|v3.1||15-Jan-2020||VS 2017 v16.4||3-Dec-2022||Fixes and refinements were done in .NET Core 3.0 and are given Long Term Support (LTS) for three years.|
Future .NET Core version 5.0: The Unified Platform
Microsoft has announced that .NET 5 will be the next release of .NET Core and will represent the unification of the platform. This release tends to be a single .NET runtime and framework that can be used everywhere having uniform runtime behaviors and developer experience. The framework will take the best of .NET Core, .NET Framework, Xamarin and Mono platforms. The details of this unified .NET 5 future can be found here.
This list presented the NET Core versions at the time of writing, .NET Framework version is 4.8 and .NET Core is 3.1 and is available for development, the framework can be downloaded at https://dotnet.microsoft.com/download/dotnet-framework, Visual Studio free Community Edition can be downloaded at https://visualstudio.microsoft.com/downloads/,
This concludes the blog post on .NET Core versions, I hope you found this post helpful, thanks for visiting, Cheer!!!
[ Further Reading: Introduction to WPF | Process to generate a machine learning model | AI vs ML vs DL – Basic differences | Top 5 machine learning frameworks to learn in 2020 | How to navigate in Visual Studio 2019 using Ctrl +T | Basic machine learning terminologies ]