Компания Microsoft представила первый предварительный вариант платформы .NET 5. Ее версия, объединяющая возможности .NET Standard и .NET Core, призвана унифицировать платформу .NET. В Microsoft называют .NET 5 «будущим .NET».

Главными целями создания .NET 5 являются унификация разработки с использованием SDK .Net и единой библиотеки базовых классов BCL (base class library) для всех приложений .NET 5, а также обеспечение поддержки как автономных, так и веб-приложений в различных операционных системах. При разработке автономных приложений в рамках единого проекта гарантируется его функционирование на устройствах Windows, Microsoft Duo (Android) и Apple iOS.

К другим целям относятся возможность создания высокопроизводительных облачных приложений, ускорение алгоритмов BCL, улучшение поддержки контейнеров, а также поддержка HTTP3. Уже в первом предварительном варианте мы видим улучшение скорости обработки регулярных выражений, а также повышение качества кода компилятора RyuJIT.

В готовой версии, которая должна появиться в ноябре 2020 года,  в .NET 5 войдут:

  • фреймворк с открытым кодом ASP.NET Core для веб-приложений;
  • технология доступа к данным Entity Framework Core;
  • WinForms;
  • WPF (Windows Presentation Foundation);
  • модель устройства для мобильных приложений Xamarin;
  • ML.NET.

В настоящее время Microsoft предлагает предварительный вариант .NET 5 SDK и соответствующий предварительный вариант исполняемой среды. Поддержка .NET Framework будет сохраняться до тех пор, пока она сохраняется в Windows.

Разработчикам рекомендуется создавать новые приложения с помощью .NET Core 3.1, а затем переносить их в .NET 5. Приложения .NET Framework можно оставить в .NET Framework.

Предварительный вариант .NET 5 впервые поддерживает архитектуру Windows ARM64. Preview 1 включает исполняемую среду .NET Core. Ожидается, что в Preview 2 будут присутствовать SDK и ASP.NET Core, но не будет WPF и Windows Forms, которые появятся в более поздних версиях. Планы предусматривают также поддержку .NET Core 3.1 системой Windows ARM64.