Компания Microsoft представила выпуск открытой платформы .NET 11, созданной благодаря унификации продуктов .NET Framework, .NET Core и Mono. На основе .NET 11 можно создавать многоплатформенные приложения для браузера, облачных систем, рабочего стола, IoT-устройств и мобильных платформ, используя единые библиотеки и общий процесс сборки, не зависящий от типа приложения. Сборки .NET SDK 11, .NET Runtime 11 и ASP.NET Core Runtime 11 сформированы для Linux, macOS и Windows. .NET Desktop Runtime 11 поставляется только для Windows. Связанные с проектом наработки распространяются под лицензией MIT.
В состав .NET входит Runtime с JIT-компилятором RyuJIT, спецификации API, библиотеки WPF, Windows Forms, WinUI и Entity Framework, интерфейс командной строки dotnet, а также инструменты для разработки микросервисов, библиотек, серверных, графических и консольных приложений. Отдельно поставляются стек для разработки web-приложений ASP.NET Core 11.0, ORM-прослойка Entity Framework Core 11.0 (драйверы имеются, в том числе, для SQLite и PostgreSQL), библиотека WPF 11 (Windows Presentation Foundation), фреймворк Windows Forms 11 для разработки GUI, платформа Aspire 11 для создания приложений Cloud Native, фреймворк MAUI 11 для разработки многоплатформенных интерфейсов пользователя, а также выпуски языков C# 15 и F# 11. Поддержка .NET 11.0 и C# 15 включена в свободный редактор кода Visual Studio Code.
Особенности нового выпуска:
Источник: https://www.opennet.ru/opennews/art.shtml?num=66666
В состав .NET входит Runtime с JIT-компилятором RyuJIT, спецификации API, библиотеки WPF, Windows Forms, WinUI и Entity Framework, интерфейс командной строки dotnet, а также инструменты для разработки микросервисов, библиотек, серверных, графических и консольных приложений. Отдельно поставляются стек для разработки web-приложений ASP.NET Core 11.0, ORM-прослойка Entity Framework Core 11.0 (драйверы имеются, в том числе, для SQLite и PostgreSQL), библиотека WPF 11 (Windows Presentation Foundation), фреймворк Windows Forms 11 для разработки GUI, платформа Aspire 11 для создания приложений Cloud Native, фреймворк MAUI 11 для разработки многоплатформенных интерфейсов пользователя, а также выпуски языков C# 15 и F# 11. Поддержка .NET 11.0 и C# 15 включена в свободный редактор кода Visual Studio Code.
Особенности нового выпуска:
- В языке C# 15 добавлено ключевое слово union для объявления типа, значение которого может быть только одним из заранее перечисленных типов-вариантов. Переменной union-типа можно присваивать значения любого из разрешённых типов, а при попытке присвоить значение типа, не указанного при объявлении, компилятор выдаст ошибку. public record class Cat(string Name); public record class Dog(string Name); public record class Bird(string Name); public union Pet(Cat, Dog, Bird); Для классов предложен модификатор "closed", при помощи которого можно создавать закрытые иерархии (closed hierarchy), в которых наследование от базового класса с модификатором closed допускается только внутри той сборки, где он объявлен и на этапе компиляции известен полный набор прямых потомков. Union-типы и закрытые иерархии гарантируют, что в конструкции switch обработаны все возможные варианты, что позволяет обойтись без ветки "default" и переменной "_". В новой версии C# также добавлена поддержка перехода из выражений "break" и "continue" на выставленные метки и расширены экспериментальные возможности по изоляции в unsafe-блоках кода, напрямую работающего с памятью (добавлена возможность применения unsafe для отдельных выражений). В языке F# 11 сокращено потребление памяти компилятором и уменьшено число операций выделения памяти при работе с коллекциями FSharp.Core. Добавлена возможность ограничения параллельно выполняемых асинхронных работ для предотвращения перегрузки. Добавлена предварительная поддержка Runtime Async. В SDK по умолчанию включены сервер MSBuild и предкомпилированный (NativeAOT) вариант CLI-инструментария dotnet. Сокращён размер инсталляторов SDK для Linux и macOS за счёт дедупликации сборок. Проведена оптимизация JIT-компилятора, удалены избыточные проверки границ и ветвлений, улучшена девиртуализация и расширено сворачивание операций в константы. В AOT-компиляторе задействован общий обработчик вызовов, позволивший сократить объём кода и повысить пропускную способность при интенсивном обращении к интерфейсам. Для Linux и macOS реализовано сохранение при сбоях трассировки стека и информации о модулях. Добавлен экспериментальный механизм Runtime Async для замены генерируемого компилятором кода обработки async-операций на реализацию, управляющую приостановкой и возобновлением асинхронных операций на уровне runtime. В SDK добавлен шаблон сервера MCP для интеграции с AI-инструментами и сервисами. Для приложений, использующих AI-сервисы, добавлен набор абстракций Microsoft.Extensions.AI (MEAI). На базе этих абстракций сформирован Microsoft Agent Framework (MAF), который можно использовать для создания AI-агентов. В API Process расширены возможности запуска процессов с перехватом их вывода и кодов завершения работы, а также контроля над наследуемыми дескрипторами. В API System.IO.Compression добавлена поддержка алгоритма сжатия Zstandard. Добавлены новые адаптеры потоков ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream и StringStream. Добавлена утилита dotnetup для установки и обновления SDK и runtime.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66666