Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы переносите приложение на .NET 10, критические изменения, перечисленные здесь, могут повлиять на вас. Изменения группируются по областям технологий, таким как ASP.NET Core или Windows Forms.
Эта статья классифицирует каждое критическое изменение как двоично несовместимое или по исходному коду несовместимое, или как изменение в поведении:
Бинарная несовместимость - При запуске в новой среде выполнения или с новым компонентом существующие двоичные файлы могут столкнуться с критическим изменением в поведении, например, сбоем при загрузке или выполнении, и тогда может потребоваться их повторная компиляция.
Несовместимость исходного кода. При повторной компиляции с использованием нового пакета SDK или компонента или при нацеливании на новую среду выполнения, существующий исходный код может потребовать изменения для успешной компиляции.
Изменение поведения. Существующий код и двоичные файлы могут вести себя по-разному во время выполнения. Если новое поведение нежелательно, необходимо обновить и перекомпилировать существующий код.
Замечание
Эта статья находится в процессе написания. Это не полный список критических изменений в .NET 10.
ASP.NET Core
См. критические изменения в ASP.NET Core 10.
Containers
| Название | Тип изменения |
|---|---|
| Образы .NET по умолчанию используют Ubuntu | Изменение поведения |
Основные библиотеки .NET
Cryptography
| Название | Тип изменения |
|---|---|
| Составной MLDsa обновлен до черновика 08 | Изменение поведения |
| CoseSigner.Key может иметь значение NULL | Несовместимое изменение поведения и источника |
| Элементы MLDsa и SlhDsa SecretKey переименованы | Несовместимый источник |
| Криптографические примитивы OpenSSL не поддерживаются в macOS | Изменение поведения |
| Требуется OpenSSL 1.1.1 или более поздней версии в Unix | Изменение поведения |
| Проверка X500DistinguishedName стала более строгой | Изменение поведения |
| параметры ключа X509Certificate и PublicKey могут иметь значение NULL | Несовместимое изменение поведения и источника |
| переменная среды переименована в DOTNET_OPENSSL_VERSION_OVERRIDE | Изменение поведения |
Entity Framework Core (платформа для работы с базами данных)
См. критические изменения в EF Core 10.
Extensions
| Название | Тип изменения |
|---|---|
| BackgroundService выполняет весь метод ExecuteAsync как задачу | Изменение поведения |
| Устранение проблем в GetKeyedService() и GetKeyedServices() с помощью AnyKey | Изменение поведения |
| Значения NULL, сохраненные в конфигурации | Изменение поведения |
| Сообщение больше не дублируется в выходных данных журнала консоли | Изменение поведения |
| ProviderAliasAttribute перемещен в сборку Microsoft.Extensions.Logging.Abstractions | Несовместимый источник |
| Удалена заметка ДинамическиAccessedMembers из небезопасного кода Microsoft.Extensions.Configuration | Бинарно несовместимый |
Globalization
| Название | Тип изменения |
|---|---|
| переменная среды переименована в DOTNET_ICU_VERSION_OVERRIDE | Изменение поведения |
Средство установки
| Название | Тип изменения |
|---|---|
| API dotnet.acquire для VS Code больше не всегда загружает последнюю версию | Изменение поведения |
Interop
| Название | Тип изменения |
|---|---|
| Приведение объекта IDispatchEx COM к IReflect завершается ошибкой | Изменение поведения |
| Однофайловые приложения больше не ищут собственные библиотеки в исполняемом каталоге | Изменение поведения |
| Указание DllImportSearchPath.AssemblyDirectory приводит к поиску исключительно в каталоге сборки. | Изменение поведения |
Нетворкинг
| Название | Тип изменения |
|---|---|
| Поддержка HTTP/3, отключенная по умолчанию с помощью PublishTrimmed | Несовместимый источник |
| MailAddress обеспечивает проверку на наличие последовательных точек | Изменение поведения |
| Потоковая передача HTTP-ответов, включенных по умолчанию в http-клиентах браузера | Изменение поведения |
Uri Ограничения длины удалены |
Изменение поведения |
Reflection
| Название | Тип изменения | Представленная версия |
|---|---|---|
| Дополнительные ограниченные заметки в InvokeMember/FindMembers/DeclaredMembers | Несовместимость поведенческой модели и исходного кода | |
| Проверка аргумента Type.MakeGenericSignatureType | Изменение поведения |
SDK и MSBuild
Сериализация
| Название | Тип изменения |
|---|---|
| System.Text.Json проверяет наличие конфликтов имен свойств | Изменение поведения |
| XmlSerializer больше не игнорирует свойства, помеченные атрибутом ObsoleteAttribute | Изменение поведения |
Windows Forms
| Название | Тип изменения |
|---|---|
| Устаревание API | Несовместимый источник |
| Приложения, ссылающиеся на WPF и WinForms, должны различать типы MenuItem и ContextMenu | Несовместимый источник |
| параметр переименован в HtmlElement.InsertAdjacentElement | Несовместимый источник |
| усечение изображения флажка TreeView | Изменение поведения |
| StatusStrip использует System RenderMode по умолчанию | Изменение поведения |
| System.Drawing OutOfMemoryException изменено на ExternalException | Изменение поведения |
Windows Presentation Foundation (WPF)
| Название | Тип изменения |
|---|---|
| Пустые столбцыDefinitions и RowDefinitions запрещены | Несовместимый источник |
| Неправильное использование DynamicResource приводит к сбою приложения | Изменение, несовместимое с источником/поведенческое изменение |