“Today we are announcing that the next release, after .NET Core 3.0, will be .NET 5, the next major version of the .NET family. There will be only one .NET in the future, and you will be able to use it to target Windows, Linux, MacOS, iOS, Android, tvOS, watchOS and WebAssembly, etc. »
Microsoft claims to have added approximately 50,000 .NET Framework APIs to the platform since the launch of the .NET Core project.
The .NET Core didn’t offer support for ASP.NET WebForms, Windows Forms and Windows Presentation Foundation (WPF). This means that .NET Core was available without support for a User Interface Framework to the dismay of many developers. Nevertheless, Microsoft has promised to provide a solution by making support for Windows desktop application development in .NET Core 3.0 its top priority.
For example, in introducing .NET Core 3.0, Microsoft described three important scenarios for the developer community that will be achievable with .NET Core 3.0:
Side-by-side versions of .NET that support Winforms and WPF: Prior to the release of this version, Microsoft explained that there can only be one version of the .NET Framework on a machine. This means that with the installation of an update of the .NET Framework via Patch Tuesday or through Windows updates, there is a risk that a security patch, bug fix or new API could break the operation of applications on the machine. With .NET Core, Microsoft intends to address this issue by allowing multiple versions of .NET Core to co-exist on the same machine. Applications can then be locked to a specific version and upgraded to another version after being tested.
Integrate .NET directly into an application: Since only one version of the .NET Framework could be installed on a machine, it was imperative to install the latest version to take advantage of a new feature of the framework or language. With .NET Core, it is possible deliver the framework with the application. This allows you to take advantage of the latest version, features and APIs without having to wait for the framework installation.
.NET Core features
.NET Core is a scalable, open source version of .NET. Now WinForms and WPF applications on Windows can take advantage of the latest .NET Core features, which also include more essential patches for better support of high-resolution screens.
“.NET Core 3.0 closes the capability gap with .NET Framework 4.8, enabling Windows Forms, WPF and Entity Framework 6, and builds on this work. The .NET Core and the best of Mono allow you to create a single platform you can use for all your modern .NET code.
“We plan to release .NET 5 in November 2020, and the first pre-release will be available in the first half of 2020. It will be supported with future updates of Visual Studio 2019, Visual Studio for Mac and Visual Studio Code.
.NET 5 = Next version of .NET Core
NET 5 is the next version of the .NET Core. The project aims to improve .NET in several ways:
Create a single .NET framework and runtime environment that is usable everywhere and provides uniform runtime behaviors and developer experiences.
Developing .NET functionality by leveraging the best of .NET Core, .NET Framework, Xamarin and Mono.
Build this product from a single code base that developers (Microsoft and the community) can work and develop together, improving all scenarios.
This new project and direction is a game changer for .NET. With .NET 5, your code and project files will look the same no matter what type of application you create. You will have access to the same runtime, API and language capabilities with each application. This includes new performance enhancements that commit to corefx virtually every day.
- Everything you love about .NET Core will continue to exist
- Open source and community oriented on GitHub.
- Cross-platform implementation.
- Support for running platform-specific features such as Windows Forms and WPF on Windows, as well as native links to each Xamarin native platform.
- High performance.
- Side-by-side installation.
- Small project files (SDK style).
- Command line interface (CLI).
- Visual Studio integration, Visual Studio for Mac and Visual Studio Code.
Here is what will be new:
- You’ll have more choice on runtime experiences.
- Java interoperability will be available on all platforms.
- Objective-C and Swift interoperability will be supported on multiple operating systems.
- CoreFX will be extended to support static compilation of .NET (ahead-of-time – AOT), smaller footprints and support for more operating systems.
Roadmap
Microsoft plans to deliver .NET Core 3.0 in September, .NET 5 in November 2020, and then plans to ship a major version of .NET once a year, every November:
Implementation Experiences
Mono is the original cross-platform implementation of .NET. It was originally an open source alternative to the .NET Framework, which then turned to targeting mobile devices as iOS and Android devices became more popular. Mono is the runtime used in Xamarin.
CoreCLR is the runtime used in .NET Core. It was primarily designed to support cloud applications, including Microsoft’s largest services, and is also used for Windows desktop, IoT and machine learning applications.
Taken together, the .NET Core and Mono runtime environments have many similarities (they are both .NET runtime environments) but also unique and valuable features. It makes sense to allow you to choose the runtime experience you want. That’s why Microsoft is creating CoreCLR and Mono direct replacements. The editor plans to simplify things like a build switch to choose between different runtime options.