Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы переносите приложение на .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
Шифрование
Заголовок | Тип изменения | Представленная версия |
---|---|---|
API удалены из System.Security.Cryptography.Pkcs netstandard2.0 | Несовместимый источник | Общедоступная версия |
SafeEvpPKeyHandle.DuplicateHandle увеличивает счетчик ссылок обработчика | изменение поведения; | Предварительная версия 7 |
Некоторые конструкторы X509Certificate2 и X509Certificate устарели | Несовместимый источник | Предварительная версия 7 |
Упрощенное время существования закрытого ключа Windows | изменение поведения; | Предварительная версия 7 |
Развертывание
Заголовок | Тип изменения | Представленная версия |
---|---|---|
Устаревшие пакеты среды выполнения Windows/macOS/Linux MonoVM | Несовместимый источник | Предварительная версия 7 |
Каталог загрузки сборки определяется через символьные ссылки в Windows | изменение поведения; | Общедоступная версия |
Interop
Заголовок | Тип изменения | Представленная версия |
---|---|---|
CET поддерживается по умолчанию | Несовместимый двоичный код | Пробная версия 6 |
JIT-компилятор
Заголовок | Тип изменения | Представленная версия |
---|---|---|
Преобразования из чисел с плавающей точкой в целые числа являются насыщенными | изменение поведения; | Предварительная версия 4 |
Некоторые API SVE удалены | Несовместимый источник | RC 2 |
Сеть
Заголовок | Тип изменения | Представленная версия |
---|---|---|
Устаревание API | Несовместимый источник | Пробная версия 6 |
Отчет о метриках HttpClient server.port безоговорочно |
изменение поведения; | Предварительная версия 7 |
Журналирование HttpClientFactory по умолчанию скрывает значения заголовков | изменение поведения; | Релиз-кандидат 1 |
HttpClientFactory использует SocketsHttpHandler в качестве основного обработчика | изменение поведения; | Пробная версия 6 |
HttpListenerRequest.UserAgent имеет значение NULL | Несовместимый источник | Предварительная версия 1 |
Редактирование запросов URI для событий HttpClient EventSource | изменение поведения; | Предварительная версия 7 |
Редактирование запроса URI в логах IHttpClientFactory | изменение поведения; | Предварительная версия 7 |
SDK и MSBuild
Сериализация
Заголовок | Тип изменения | Представленная версия |
---|---|---|
BinaryFormatter всегда вызывает | изменение поведения; | Пробная версия 6 |
свойства JsonDocument, допускающие значение NULL, десериализуются в JsonValueKind.Null | изменение поведения; | Предварительная версия 1 |
средство чтения метаданных System.Text.Json теперь не использует имена свойств метаданных | изменение поведения; | Общедоступная версия |
Windows Forms
Заголовок | Тип изменения | Представленная версия |
---|---|---|
BindingSource.SortDescriptions не возвращает значение NULL | изменение поведения; | Предварительная версия 1 |
Изменения аннотаций nullability | Несовместимый источник | Предварительная версия 1 |
ComponentDesigner.Initialize создает исключение ArgumentNullException | изменение поведения; | Предварительная версия 1 |
DataGridViewRowAccessibleObject.Name начальный индекс строки | изменение поведения; | Предварительная версия 1 |
Поддержка IMsoComponent включена | изменение поведения; | Предварительная версия 2 |
Новые анализаторы безопасности | Несовместимый источник | Релиз-кандидат 1 |
Нет исключения, если DataGridView равно null | изменение поведения; | Предварительная версия 1 |
PictureBox вызывает исключения HttpClient | изменение поведения; | Пробная версия 6 |
StatusStrip использует другой рендерер по умолчанию | изменение поведения; | Общедоступная версия |
WPF (Windows Presentation Foundation)
Заголовок | Тип изменения | Представленная версия |
---|---|---|
GetXmlNamespaceMaps Изменение типа |
Изменение поведения/Несовместимый источник | 3 (предварительная версия) |