News

Unifying .NET 5 Arrives in Preview 1

Microsoft released .NET 5 Preview 1, the first iteration of what will become one framework to handle all .NET development projects.

The company is jumping from .NET Core 3.1 directly to .NET 5 to signify the clean break from the past -- including the traditional Windows-only .NET Framework -- and focus on unifying everything under one cross-platform, open-source, "game-changing" platform based on one single Base Class Library (BCL). "Having a version 5 that is higher than both .NET Core and .NET Framework also makes it clear that .NET 5 is the future of .NET, which is a single unified platform for building any type of application," Microsoft exec Scott Hunter said in a March 16 post.

.NET 5
[Click on image for larger view.] .NET 5 (source: Microsoft).

As the first part of this unification scheme, Microsoft's Xamarin mobile development platform will switch from using the Mono BCL to join other components leveraging the .NET Core BCL. With that move, Xamarin mobile development will be folded into .NET 5. That means that for the first time, one BCL-based framework will handle all app models:

  • ASP.NET Core
  • Entity Framework Core
  • WinForms
  • WPF
  • Xamarin
  • ML.NET

The first preview consists of the NET 5.0 Preview 1 SDK and .NET 5.0 Preview 1 Runtime. A separate announcement explains that the ASP.NET Core component -- used for web development, including Blazor projects -- received bug fixes but no new features in .NET 5 Preview 1.

"Preview 1 includes support for Windows ARM64 for the first time," Hunter said. "Today's release includes the .NET Core runtime. We expect Preview 2 to include the SDK (ASP.NET Core but not WPF or Windows Forms). A later preview will include WPF and Windows Forms. Support for Windows ARM64 will also be back-ported to .NET Core 3.1. We will share more information on that with the Preview 2 post."

The company did share work done for Preview 1 to improve many areas of the framework, including:

  • Regular expression performance improvements
  • Code quality improvements in RyuJIT
  • Assembly load diagnostics added to event pipe
  • Event pipe profiler APIs
  • GitHub repo consolidation

Microsoft also provided more information about ongoing development of .NET 5, listing its future high-level goals as:

  • Unified .NET SDK experience:
    • Single BCL across all .NET 5 applications. Today Xamarin applications use the Mono BCL but will move to use the.NET Core BCL, improving compatibility across our application models.
    • Mobile development (Xamarin) is integrated into .NET 5. This means the .NET SDK will support mobile. For example, you can use "dotnet new XamarinForms" to create a mobile application.
  • Native Applications supporting multiple platforms: Single Device project that supports an application that can work across multiple devices for example Window Desktop, Microsoft Duo (Android), and iOS using the native controls supported on those platforms.
  • Web Applications supporting multiple platforms: Single Blazor project that supports an application that can work in browsers, on mobile devices and as a native desktop application (Windows 10x for example)
  • Cloud Native Applications: High performance, single file (.exe) < 50MB microservices and support for building multiple project (API, web front ends, containers) both locally and in the cloud.
  • Continuous Improvements, such as: faster algorithms in the BCL, better support for containers in the runtime, support for HTTP3.

Hunter advised developers that the best way to prepare for .NET 5 would be to move all of their .NET Core applications to 3.1, noting that coders building traditional .NET Framework applications can continue to target that legacy platform that will be maintained but not improved with new features. Thus, developers creating new applications should consider targeting .NET Core 3.1.

.NET 5 is scheduled for general availability in November.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube