Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте о новых функциях в .NET 10 и найдите ссылки на дополнительную документацию. Эта страница обновлена для предварительного просмотра 3.
.NET 10, преемник .NET 9, поддерживается в течение трех лет как долгосрочная версия с поддержкой (LTS). Вы можете скачать .NET 10 здесь.
Ваши отзывы важны и ценятся. Если у вас есть вопросы или комментарии, используйте обсуждение на сайте GitHub.
Среда выполнения .NET
Среда выполнения .NET 10 представляет новые функции и улучшения производительности. К ключевым обновлениям относятся:
- Девиртуализация метода интерфейса массива: JIT теперь может девиртуализировать и встраивать методы интерфейса массива, повышая производительность перечислений массивов.
- Array enumeration de-abstraction: Enhancements to reduce abstraction overhead for array iteration via enumerators, enabling better inlining and stack allocation.
- Встраивание поздних девиртуализированных методов: JIT теперь может встраивать методы, которые становятся подходящими для девиртуализации вследствие предыдущего встраивания.
- Devirtualization based on inlining observations: The JIT uses precise type information from inlining to devirtualize subsequent calls.
- Выделение массивов типов значений: небольшие массивы типов значений фиксированного размера без указателей GC теперь могут быть выделены стеком.
- Поддержка AVX10.2: появилась поддержка расширенных расширений векторов (AVX) 10.2 для процессоров на основе x64, хотя в настоящее время отключена по умолчанию.
- Улучшения NativeAOT: Поддержка приведения типов и операции отрицания в прединициализаторе типов NativeAOT.
Дополнительные сведения см. в статье Новые возможности среды выполнения .NET 10.
Библиотеки .NET
Библиотеки .NET 10 представляют несколько новых функций и улучшений, в том числе:
- Поиск сертификатов по отпечаткам, отличным от SHA-1: новый метод позволяет находить сертификаты с помощью хэш-алгоритмов, таких как SHA-256.
- Поиск данных в кодировке PEM в формате ASCII/UTF-8: API-для кодирования в формате PEM теперь позволяют непосредственно читать данные в ASCII/UTF-8.
- Поддержка ISOWeek для DateOnly: Новые перегрузки в классе ISOWeek поддерживают тип DateOnly.
- API нормализации строк для диапазонов символов: новые API позволяют нормализации строк Юникода работать с диапазонами символов, уменьшая расход памяти.
- Числовое упорядочение для сравнения строк: новый CompareOptions.NumericOrdering параметр включает сравнение числовых строк.
- Новая перегрузка TimeSpan.FromMilliseconds: Перегрузка с одним параметром решает проблемы с выражениями LINQ.
-
Улучшения производительности ZipArchive: оптимизация уменьшает использование памяти и повышает производительность в ZipArchive
Update
режиме и параллельном извлечении. - Улучшения в OrderedDictionary: Новые перегрузки
TryAdd
иTryGetValue
возвращают индекс для быстрого доступа. -
Обновления сериализации JSON: генераторы источников теперь позволяют указывать
ReferenceHandler
в JsonSourceGenerationOptionsAttribute. - Леворукие преобразования матриц: новые возможности API для создания леворуких матриц преобразования.
- Улучшения экспорта PKCS#12. Новые методы позволяют указывать алгоритмы шифрования и дайджеста для экспорта PKCS#12/PFX.
Дополнительные сведения см. в статье Новые возможности библиотек .NET 10.
Пакет SDK для .NET
Пакет SDK для .NET 10 содержит следующие новые функции и улучшения, включая:
- Очистка ссылок на пакеты, предоставляемых платформой: автоматически удаляет неиспользуемые ссылки на пакеты, уменьшая время сборки и использование дисков.
-
Более согласованный порядок команд: новые псевдонимы, начинающиеся с существительных, для
dotnet
команд CLI улучшают удобочитаемость и согласованность. -
Команды CLI по умолчанию поддерживают интерактивный режим в интерактивных терминалах:
--interactive
по умолчанию флаг включен для команд CLI в интерактивных терминалах. -
Скрипты автодополнения для встроенной оболочки:
dotnet
интерфейс командной строки теперь поддерживает создание встроенных скриптов автодополнения для популярных оболочек с помощью командыdotnet completions generate [SHELL]
. Поддерживаемые оболочки включаютbash
,fish
,nushell
,powershell
иzsh
. -
Консольные приложения могут нативно создавать образы контейнеров: Теперь консольные приложения могут создавать образы контейнеров через
dotnet publish /t:PublishContainer
, не требуя свойства<EnableSdkContainerSupport>
в файле проекта. -
Явным образом управлять форматом изображений контейнеров: новое
<ContainerImageFormat>
свойство позволяет явно задать формат изображений контейнеров либоDocker
илиOCI
. -
Поддержка Microsoft.Testing.Platform в
dotnet test
: новыйdotnet test
опыт, разработанный специально для Microsoft.Testing.Platform, можно активировать черезdotnet.config
. Дополнительные сведения о существующейdotnet test
интеграции для MTP и новой интеграции см. в разделе "Тестирование с помощьюdotnet test
".
Дополнительные сведения см. в статье Новые возможности пакета SDK для .NET 10.
.NET Aspire
.NET Aspire выпускает версию 9.1, которая посвящена улучшениям удобства использования.
Для получения подробной информации см. Что нового в .NET Aspire 9.1.
ASP.NET Core
Выпуск ASP.NET Core 10.0 содержит несколько новых функций и улучшений, включая усовершенствования Blazor, улучшения OpenAPI и обновления минимального API.
Для подробной информации смотрите Что нового в ASP.NET Core для .NET 10.
C# 14
C# 14 представляет несколько новых функций и усовершенствований для повышения производительности и качества кода разработчика. К ключевым обновлениям относятся:
-
Свойства с поддержкой полей: обеспечивает более гладкий путь от автоматически реализованных свойств к написанию пользовательских
get
иset
методов доступа. Теперь поле резервной копии, созданное компилятором, можно получить с помощью контекстного ключевогоfield
слова. -
Поддержка несвязанных универсальных типов для
nameof
: Выражениеnameof
теперь поддерживает несвязанные универсальные типы, такие какList<>
, возвращая имя типа без необходимости использования аргументов типа. -
Неявные преобразования диапазона: Вводится полноценная поддержка для
Span<T>
иReadOnlySpan<T>
с новыми неявными преобразованиями, что обеспечивает более естественное программирование с этими типами. -
Модификаторы простых лямбда-параметров: разрешает модификаторы параметров, например
ref
,in
илиout
в лямбда-выражениях без указания типов параметров. - Частичные события и конструкторы: добавляет поддержку конструкторов частичных экземпляров и частичных событий, дополняя частичные методы и свойства, представленные в C# 13.
-
Элементы расширения: Методы расширения теперь поддерживают статические методы, экземплярные свойства и статические свойства через блоки
extension
, что позволяет создавать более гибкие и мощные расширения. -
Null-условное присваивание: Упрощает условные присваивания, позволяя обновлять свойства или поля только в том случае, если содержащий экземпляр существует, используя оператор
?.
. - Экспериментальная функция — строковые литералы в разделе данных: позволяет выводить строковые литералы в виде данных UTF-8 в отдельный раздел PE-файла, повышая эффективность в определённых сценариях.
Дополнительные сведения см. в статье Новые возможности C# 14.
F#
Обновления F# в .NET 10 включают несколько новых функций и улучшений в языковой, стандартной библиотеке и службе компилятора. К ключевым обновлениям относятся:
Язык F#:
- Для использования новых языковых функций необходимо включить свойство проекта
<LangVersion>preview</LangVersion>
в файлах.fsproj
. Эти функции становятся стандартными в выпуске .NET 10.
- Для использования новых языковых функций необходимо включить свойство проекта
Стандартная библиотека FSharp.Core:
- Изменения стандартной
FSharp.Core
библиотеки применяются автоматически к проектам, скомпилированным с помощью нового пакета SDK, если только более низкаяFSharp.Core
версия не закреплена явным образом.
- Изменения стандартной
FSharp.Compiler.Service:
- Общие улучшения и исправления ошибок в реализации компилятора.
Для получения дополнительной информации см. F# release notes.
Visual Basic
Обновления Visual Basic в .NET 10 включают следующие функции и улучшения:
-
unmanaged
поддержка ограничений: компилятор Visual Basic теперь интерпретирует и применяет универсальное ограничение, что обеспечивает лучшуюunmanaged
совместимость с API среды выполнения. - Honor overload resolution priority: The Visual Basic compiler respects the OverloadResolutionPriorityAttribute, ensuring faster Span-based overloads are preferred and resolving ambiguities among method overloads.
Эти обновления гарантируют, что Visual Basic может использовать обновленные функции в C# и среде выполнения, повышая совместимость и производительность.
Дополнительные сведения см. в статье "Новые возможности Visual Basic".
.NET MAUI
Обновления .NET MAUI в .NET 10 включают несколько новых функций и улучшений качества для .NET MAUI, .NET для Android и .NET для iOS, Mac Catalyst, macOS и tvOS.
Для получения подробной информации см. Что нового в .NET MAUI в .NET 10.
EF Core
Релиз EF Core 10 представляет несколько новых функций и улучшений, включая улучшения LINQ, оптимизацию производительности и улучшенную поддержку Azure Cosmos DB.
Для получения подробной информации см. Что нового в EF Core для .NET 10.
Windows Forms
Изменения в Windows Forms для .NET 10 включают обновления, связанные с буфером обмена, портированные UITypeEditors
из .NET Framework, и улучшения качества.
Чтобы узнать подробнее, см. Что нового в Windows Forms для .NET 10.
WPF (Windows Presentation Foundation)
Обновления WPF в .NET 10 включают в себя несколько улучшений производительности, изменения в стиле Fluent, исправления ошибок и многое другое.
Для получения подробностей см. Что нового в WPF в .NET 10.