Прочитать на английском

Поделиться через


Критические изменения в .NET 9

Если вы переносите приложение на .NET 9, критические изменения, перечисленные здесь, могут повлиять на вас. Изменения сгруппированы по технологическим областям, например, ASP.NET Core или Windows Forms.

Эта статья классифицирует каждое критическое изменение как несовместимое двоичное или исходное несовместимое или как изменение поведения:

  • Несовместимый двоичный файл . При запуске в новой среде выполнения или компонента существующие двоичные файлы могут столкнуться с критическим изменением в поведении, например сбоем загрузки или выполнения, а если да, требовать повторной компиляции.

  • Несовместимый источник. При повторной компиляции с помощью нового пакета SDK или компонента или целевой среды выполнения существующий исходный код может требовать изменения источника для успешной компиляции.

  • Изменение поведения. Существующий код и двоичные файлы могут вести себя по-разному во время выполнения. Если новое поведение нежелательно, необходимо обновить и перекомпилировать существующий код.

Примечание

Эта статья выполняется. Это не полный список критических изменений в .NET 9. Сведения о критических изменениях, которые все еще ожидают публикации, см. в разделе Проблемы .NET.

ASP.NET Core

Заголовок Тип изменения Представленные версии
DefaultKeyResolution.ShouldGenerateNewKey изменил значение изменение поведения; 3 (предварительная версия)
Экспорт сертификата разработки больше не создает папку изменение поведения; Релиз-кандидат 1
HostBuilder включает ValidateOnBuild/ValidateScopes в среде разработки изменение поведения; Предварительная версия 7
устаревшие API Mono и Emscripten не экспортируются в глобальное пространство имен Несовместимый источник Общедоступная версия
Типы ПО промежуточного слоя с несколькими конструкторами изменение поведения; Релиз-кандидат 1

Контейнеры

Заголовок Тип изменения Представленные версии
Образы контейнеров больше не содержат zlib изменение поведения; Предварительная версия 7
изображения .NET Monitor упрощены до тегов, содержащих только версию изменение поведения; Preview 5

Основные библиотеки .NET

Заголовок Тип изменения Представленные версии
Добавление zipArchiveEntry с помощью CompressionLevel задает флаги битов заголовка центрального каталога ZIP-каталога общего назначения изменение поведения; Preview 5
Изменена поддержка unsafeAccessor для не открытых универсальных шаблонов изменение поведения; предварительная версия 6
Обзоление API с пользовательскими идентификаторами диагностики Несовместимый источник (Несколько)
Максимальная длина bigInteger изменение поведения; предварительная версия 6
BinaryReader.GetString() возвращает значение "\uFFFD" в неправильно сформированных последовательностях изменение поведения; Предварительная версия 7
Создание типа массива System.Void запрещено изменение поведения; Предварительная версия 1
Значение по умолчанию Equals() и GetHashCode() исключение для типов, помеченных как InlineArrayAttribute изменение поведения; предварительная версия 6
EnumConverter проверяет зарегистрированные типы для перечисления изменение поведения; Предварительная версия 7
FromKeyedServicesAttribute больше не вводит неключимый параметр изменение поведения; Релиз-кандидат 1
Добавочный обратный вызов IncrementingPollingCounter является асинхронным изменение поведения; Релиз-кандидат 1
Ограничение размера структуры встроенного массива применяется изменение поведения; Предварительная версия 1
InMemoryDirectoryInfo prepends rootDir to files изменение поведения; Предварительная версия 1
Новые перегрузки TimeSpan.From*(), которые принимают целые числа Несовместимый источник 3 (предварительная версия)
Новая версия некоторых пакетов OOB Несовместимый источник Preview 5
RuntimeHelpers.GetSubArray возвращает другой тип изменение поведения; Предварительная версия 1
Удалена перегрузка String.Trim(params ReadOnlySpan<char>) Несовместимый источник или двоичный файл Общедоступная версия
Поддержка пустых переменных среды изменение поведения; предварительная версия 6
Имена и комментарии ZipArchiveEntry уважают флаг UTF8 изменение поведения; Релиз-кандидат 1

Шифрование

Заголовок Тип изменения Представленные версии
SafeEvpKeyHandle.DuplicateHandle up-refs обработчик изменение поведения; Предварительная версия 7
Некоторые конструкторы X509Certificate2 и X509Certificate устарели Несовместимый источник Предварительная версия 7
Упрощенное время существования закрытого ключа Windows изменение поведения; Предварительная версия 7

Развертывание

Заголовок Тип изменения Представленные версии
Устаревшие пакеты среды выполнения Windows/macOS/Linux MonoVM Несовместимый источник Предварительная версия 7

Interop

Заголовок Тип изменения Представленные версии
CET поддерживается по умолчанию Несовместимый двоичный файл предварительная версия 6

JIT-компилятор

Заголовок Тип изменения Представленные версии
Преобразования целых чисел с плавающей запятой являются насыщенными изменение поведения; Предварительная версия 4
Некоторые API SVE удалены Несовместимый источник RC 2

Сеть

Заголовок Тип изменения Представленные версии
Обзоление API Несовместимый источник предварительная версия 6
Отчет о метриках server.port HttpClient безоговорочно изменение поведения; Предварительная версия 7
Значения заголовков журнала HttpClientFactory по умолчанию изменение поведения; Релиз-кандидат 1
HttpClientFactory использует SocketsHttpHandler в качестве основного обработчика изменение поведения; предварительная версия 6
HttpListenerRequest.UserAgent имеет значение NULL Несовместимый источник Предварительная версия 1
Редактция запроса URI в событиях HttpClient EventSource изменение поведения; Предварительная версия 7
Редактция запроса URI в журналах IHttpClientFactory изменение поведения; Предварительная версия 7

SDK и MSBuild

Заголовок Тип изменения Представленные версии
dotnet restore аудит транзитивных пакетов изменение поведения; предварительная версия 6
dotnet watchнесовместимый с Горячая перезагрузка для старых платформ изменение поведения; Релиз-кандидат 1
dotnet workload Изменение выходных данных команд изменение поведения; Предварительная версия 1
installer Версия репозитория больше не документирована изменение поведения; Preview 5
Средство ведения журнала терминалов по умолчанию изменение поведения; Предварительная версия 1
Требования к версии пакета SDK для .NET 9 Несовместимый источник Общедоступная версия
Предупреждение, выдаваемое для целевого объекта .NET Standard 1.x Несовместимый источник предварительная версия 6
Предупреждение, выдаваемое для целевого объекта .NET 7 Несовместимый источник Общедоступная версия

Сериализация

Заголовок Тип изменения Представленные версии
BinaryFormatter всегда вызывает изменение поведения; предварительная версия 6
свойства JsonDocument, допускающие значение NULL, десериализуются в JsonValueKind.Null изменение поведения; Предварительная версия 1

Windows Forms

Заголовок Тип изменения Представленные версии
BindingSource.SortDescriptions не возвращает значение NULL изменение поведения; Предварительная версия 1
Изменения примечаний null Несовместимый источник Предварительная версия 1
ComponentDesigner.Initialize создает исключение ArgumentNullException изменение поведения; Предварительная версия 1
DataGridViewRowAccessibleObject.Name начальный индекс строки изменение поведения; Предварительная версия 1
Поддержка IMsoComponent включена изменение поведения; Предварительная версия 2
Новые анализаторы безопасности Несовместимый источник Релиз-кандидат 1
Исключение, если DataGridView имеет значение NULL изменение поведения; Предварительная версия 1
PictureBox вызывает исключения HttpClient изменение поведения; предварительная версия 6

WPF

Заголовок Тип изменения Представленные версии
GetXmlNamespaceMaps Изменение типа Изменение поведения или несовместимое источник 3 (предварительная версия)

См. также