В последние годы, особенно в связи с пандемией, все происходит очень быстро. Выпуск .NET 5 компанией Microsoft состоялся всего полтора года назад (а именно 10 ноября 2020 года), и нам приходится с ним прощаться.
К сожалению, срок, отведенный Microsoft разработчикам для перехода на .NET 6, подходит к концу, а поддержка .NET 5 заканчивается 10 мая 2022 года (да, через пару дней).
С другой стороны, новая версия Framework: .NET 6, принесет LTS (долгосрочную поддержку) и, по словам Microsoft, она продлится до конца 2024 года.
Что будет с проектами .NET 5?
Одна из причин, по которой Microsoft собирается прекратить поддержку .NET 5 (и других старых версий), заключается в том, что эти версии должны быть подписаны алгоритмами, а в настоящее время они подписаны алгоритмом SHA-1. Этот алгоритм был уязвим в течение некоторого времени и может повлиять на все сферы: от подписания документов до сертификатов HTTPS, систем резервного копирования и контроля версий (git).
Любопытный факт: хотя это произошло пару лет назад, Google удалось сломать этот алгоритм, умудрившись получить 2 разных PDF-файла с одинаковым хэшем.
Сначала ничего не произойдет, но вы больше не будете получать обновления безопасности и поддержку от Microsft. Это не конец .NET 5, потому что эта дата просто относится к обновлениям, патчам, технической поддержке или исправлениям безопасности, но это может оставить многие приложения незащищенными от новых (и не очень новых) уязвимостей.
Поэтому все разработчики, у которых есть проекты на .NET 3.1 или .NET 5, должны перевести их на .NET 6, чтобы продолжать получать все обновления и поддержку от Microsoft.
Что принесет .NET 6?
Самое ожидаемое от Microsoft, которая пытается добиться этого уже много лет, — сделать .NET унифицированной платформой. И теперь, согласно заявлению Microsoft, .NET 6 принесет:
«Унифицированная платформа для браузеров, облачных, настольных, IoT и мобильных приложений, использующая одни и те же библиотеки .NET Libraries и возможность легкого обмена кодом».
Кроме того, шаблон проекта консольного приложения сокращен всего до 1 строки, что облегчает создание небольших программ. В .NET 5 было
using System;
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
А с приходом .NET 6 это сократилось всего до 1 строки кода:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
📚 Featured: Вы можете узнать больше о шаблоне консольного приложения в оригинальной статье Microsoft: Шаблон консольного приложения .NET 6 C# генерирует утверждения верхнего уровня
Кроме того, новая версия 6 .NET Framework поставляется с новой версией языка: C# 10 (хотя предварительные версии C# 11 уже выпускаются). Эта версия включает в себя множество новых возможностей:
- Объявление пространства имен с файловым копированием
- Постоянные интерполированные строки
- Расширенные шаблоны свойств
и многое другое (вы можете ознакомиться с этой статьей):
Article No Longer Available
Не только это, но и новая версия IDE: Visual Studio 2022. Эта новая версия Visual Studio принесла отличную новость, теперь доступна ее 64-битная версия. Это означает, что главный процесс devenv.exe больше не имеет ограничений, которые были в 32-битной версии (4 ГБ памяти).
Microsoft продемонстрировала, как эта новая версия способна загрузить решение из более чем 300 000 файлов.
Не будем забывать о Hot Reload, функции, позволяющей вносить изменения в отлаживаемый проект без необходимости останавливать и запускать его снова.
Вы можете узнать больше о возможностях Visual Studio 2022 в этой статье:
Article No Longer Available
Как перейти на .NET 6?
Microsoft настоятельно рекомендует обновить приложения до .NET 6 и с этой целью оставляет эту статью о том, как это сделать: Обновление до .NET 6.0
Попрощавшись с .NET 5 и насладившись .NET 6, мы все еще ждем новостей и обновлений от Microsoft о .NET 7. Удивят ли они нас? Кто знает.