Релиз открытой платформы .NET 6

Kate

Administrator
Команда форума
Компания Microsoft представила новый значительный выпуск открытой платформы .NET 6, созданной благодаря унификации продуктов .NET Framework, .NET Core и Mono. На основе .NET 6 можно создавать многоплатформенные приложения для браузера, облачных систем, рабочего стола, IoT-устройств и мобильных платформ, используя единые библиотеки и общий процесс сборки, не зависящий от типа приложения. Сборки .NET SDK 6, .NET Runtime 6 и ASP.NET Core Runtime 6 сформированы для Linux, macOS и Windows. .NET Desktop Runtime 6 поставляется только для Windows. Связанные с проектом наработки распространяются под лицензией MIT.

В состав .NET 6 входит runtime CoreCLR с JIT-компилятором RyuJIT, стандартные библиотеки, библиотеки CoreFX, WPF, Windows Forms, WinUI, Entity Framework, интерфейс командной строки dotnet, а также инструменты для разработки микросервисов, библиотек, серверных, графических и консольных приложений. Отдельно опубликованы стек для разработки web-приложений ASP.NET Core 6.0 и ORM-прослойка Entity Framework Core 6.0 (драйверы имеются, в том числе, для SQLite и PostgreSQL), а также выпуски языков C# 10 и F# 6. Поддержка .NET 6.0 и C# 10 включена в свободный редактор кода Visual Studio Code.

Особенности нового выпуска:

  • Значительно повышена производительность, в том числе проведена оптимизация файлового ввода/вывода.
  • В языке C# 10 реализована поддержка структур в форме записей (record struct), директивы "global using", привязанных к файлам пространств имён и новых возможностей для лямбда-выражений. В компилятор добавлена поддержка инкрементальной генерации исходного кода.
  • В языке F# 6 появилась поддержка механизма асинхронного выполнения задач async и конвейерной отладки.
  • Доступна функция Hot Reload, которая предоставляет средства для редактирования кода на лету во время выполнения программы, позволяя вносить изменения без ручной остановки выполнения и без прикрепления точек останова. Разработчик может запустить приложение под управлением "dotnet watch", после чего вносимые в код изменения автоматически применяются к запущенному приложению, что позволяет сразу наблюдать результат.
  • Добавлена утилита "dotnet monitor" для доступа к диагностической информации процесса dotnet.
  • Предложена новая система динамической оптимизации на основе результатов профилирования кода (PGO - Profile-guided optimization), позволяющая генерировать более оптимальный код на основе анализа особенностей выполнения. Использование PGO позволило повысить производительность набора TechEmpower JSON "MVC" на 26%.
  • В ASP.NET Core, HttpClient и gRPC добавлена поддержка протокола HTTP/3.
  • Расширен API, связанный с форматом JSON. Добавлен новый генератор кода System.Text.Json и система сериализации данных в формате JSON.
  • В Blazor, платформу для создания web-приложений на языке C#, добавлена поддержка отрисовки Razor-компонентов из JavaScript и интеграции с существующими JavaScript-приложениями.
  • Добавлена поддержка компиляции .NET-кода в представление на WebAssembly.
  • В API File IO добавлена поддержка символических ссылок. Полностью преписан FileStream.
  • Добавлена поддержка библиотеки OpenSSL 3 и криптографических алгоритмов ChaCha20/Poly1305.
  • В Runtime реализованы механизмы защиты W^X (Write XOR Execute, запрет одновременного доступа на запись и исполнение) и CET (Control-flow Enforcement Technology, защита от выполнения эксплоитов, построенных с использованием приёмов возвратно-ориентированного программирования).
  • Добавлена экспериментальная поддержка iOS и Android в качестве TFM-платформ (Target Framework Moniker).
  • Значительно улучена поддержка систем Arm64. Добавлена поддержка устройств Apple на базе ARM-чипа M1 (Apple Silicon).
  • Обеспечен процесс сборки .NET SDK из исходных текстов, что упрощает работу по формированию пакетов c .NET для дистрибутивов Linux.
 
Сверху