Стала доступна вторая предварительная версия .NET 6, включая такие её неотъемлемые части как ASP.NET и Entity Framework Core. Кратко рассмотрим основные изменения. |
Где скачать?
Для разработки приложений с использованием .NET 6 Preview 2 рекомендуется использовать Visual Studio 2019 версии 16.9 и Visual Studio for Mac версии 8.9.
.NET 6 Preview 2
Список поддерживаемых ОС.
Оптимизация
Одной из ключевых целей при создании .NET 6 является производительность: увеличение скорости работы, уменьшение объема используемой памяти и времени запуска приложения. Кроме того, оптимизируется работа инструментария .NET (такого как dotnet). Например, скорость сборки проекта c использованием инструментария .NET 5 и .NET 6 Preview 2 может различаться от 1.5 до 2 раз и более.
.NET Multi-platform App UI (MAUI)
.NET Multi-platform App UI или, сокращенно, MAUI продолжает свое развитие. Цель – позволить разработчикам использовать общий код в приложениях под Windows, Android, iOS и macOS.
В .NET 6 Preview 2 здесь также не обошлось без улучшений производительности. Кроме того, появился новый тип проекта, который может быть запущен под Android, iOS и macOS. А скоро к этому список присоединится Windows.
Еще одна интересная возможность MAUI проектов – общие ресурсы. Ими могут быть иконки, шрифты и изображения которые будут использоваться в разных проектах. Теперь их можно хранить в одном общем месте и ссылаться на него из проектов. Для этого в csproj-файлах появились новые теги – SharedImage и SharedFont. Они поддерживают как указание отдельных файлов, так использование маски "*".
Библиотеки .NET
В .NET 6 появился новый класс PriorityQueue<TElement, TPriority> реализующий очередь с приоритетом. Это аналог Queue<T>, но только первыми будут возвращены значения, у которых указан максимальный приоритет. При этом время добавления роли не играет, а значения с одинаковым приоритетом могут быть возращены в любом порядке.
А в System.Text.Json добавилась возможность игнорировать циклические ссылки при сериализации. При этом вместо ссылки на родительский объект будет вставлено значение null.
ASP.NET 6 Preview 2
Razor
Компиляция шаблонов Razor стала быстрее за счет использования генераторов исходного кода (source generators).
Также теперь можно выделять CSS в отдельные файлы с расширением ".cshtml.css". Имя такого файла должно совпадать с именем файла страницы. Теперь достатоно в HTML коде подключить файл MyWebApp.styles.cs для загрузки CSS. При этом для каждой странице будут скачены только её стили.
SignalR
Библиотека SignalR теперь использует ссылочные типы, ��опускающие значение null (Nullable Reference Types).
Entity Framework Core 6.0 Preview 2
В Entity Framework Core 6.0 Preview 2 можно отметить следующие изменения:
- String.Concat(…) с множественными аргументами получил трансляцию в SQL.
- Улучшена интеграция с пакетом System.Linq.Async (до этого были проблемы из-за пересечения пространства имен).
- Текстовый поиск стал более гибким. Методы EF.Functions.FreeText(…) и EF.Functions.Contains(…) теперь могут работать с двоичными колонками и колонками, которые используют конверторы значений.
Ссылки
Полные описания нововведений доступны по следующим ссылкам:
Кроме того, следующую дополнительную информацию можно найти на GitHub: