Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы переносите приложение на .NET 11, критические изменения, перечисленные здесь, могут повлиять на вас. Изменения группируются по области технологий, например ASP.NET Core или Windows Forms.
Эта статья классифицирует каждое критическое изменение как двоично несовместимое или по исходному коду несовместимое, или как изменение в поведении:
Двоично несовместимый — при запуске в новой среде выполнения или с новым компонентом существующие двоичные файлы могут столкнуться с несовместимым изменением поведения, например со сбоем загрузки или выполнения, и в таком случае потребовать перекомпиляции.
Несовместимость исходного кода - При повторной компиляции с помощью нового пакета SDK или компонента или при нацеливании на новую среду выполнения существующий исходный код может потребовать изменений в исходном коде для успешной компиляции.
Изменение поведения — существующий код и двоичные файлы могут вести себя по-разному во время выполнения. Если новое поведение нежелательно, необходимо обновить и перекомпилировать существующий код.
Замечание
Эта статья находится в процессе написания. Это не полный список критических изменений в .NET 11.
ASP.NET Core
См. Критические изменения в ASP.NET Core 11.
Containers
| Название | Тип изменения |
|---|---|
| Для dotnet test в контейнерах требуется записываемый базовый каталог артефактов VSTest | Изменение поведения |
Основные библиотеки .NET
Cryptography
| Название | Тип изменения |
|---|---|
| Устаревание API | Несовместимый источник |
| Составной ML-DSA в Windows использует собственную реализацию | Изменение поведения |
| DSA удалена из macOS | Изменение поведения |
| HKDF в Windows использует реализацию CNG | Изменение поведения |
| Получение сертификата AIA в Linux ограничено двумя запросами для каждой сборки цепочки | Изменение поведения |
Развертывание
| Название | Тип изменения |
|---|---|
| configProperties в .runtimeconfig.dev.json переопределяют .runtimeconfig.json | Изменение поведения |
Extensions
| Название | Тип изменения |
|---|---|
| Асинхронные перегрузки ChangeToken.OnChange повторно привязывают существующие обратные вызовы, возвращающие задачу | Изменение поведения |
| Удаление области внедрения зависимостей агрегирует исключения | Изменение поведения |
| Пустые строки в цепочке конфигурации переопределяют значения из более ранних поставщиков | Изменение поведения |
| FileConfigurationProvider не вызывает маркер перезагрузки после игнорируемого сбоя загрузки | Изменение поведения |
| Обратный вызов FileConfigurationSource.OnLoadException вызывается для ошибок ввода-вывода | Изменение поведения |
| IHost.RunAsync и IHost.StopAsync вызывают исключение при сбое BackgroundService | Изменение поведения |
| Генератор проверки параметров конфигурации сообщает о SYSLIB1205 для явных реализаций Validate | Несовместимый источник |
| PhysicalFilesWatcher проверяет корневой путь и путь FileSystemWatcher | Изменение поведения |
| Некоторые пакеты Microsoft.Extensions, включенные в общую платформу | Изменение поведения |
Globalization
| Название | Тип изменения |
|---|---|
| Исправлена минимальная поддерживаемая дата японского календаря | Изменение поведения |
Interop
| Название | Тип изменения |
|---|---|
| Native AOT отклоняет неблиттируемые сигнатуры UnmanagedCallersOnly | Изменение поведения |
| NativeAOT использует префикс lib для выходных файлов нативной библиотеки в Unix | Изменение поведения |
JIT-компилятор
| Название | Тип изменения |
|---|---|
| Преобразования с плавающей запятой в небольшие целочисленные типы выполняются с насыщением | Изменение поведения |
| Минимальные требования к оборудованию обновлены | Изменение поведения |
Сеть
| Название | Тип изменения |
|---|---|
| Метрики высокой кардинальности HttpClient используют наблюдаемые счетчики | Изменение поведения |
| Загрузка сертификатов AIA на стороне сервера SslStream отключена по умолчанию | Изменение поведения |
.NET MAUI
| Название | Тип изменения |
|---|---|
| Android x86 не поддерживается | Двоичные несовместимые или поведенческие изменения |
| Создание кода на мобильных устройствах меняется с Mono на CoreCLR | Изменение, несовместимое с источником/поведенческое изменение |
| CoreCLR заменяет среду выполнения Mono для мобильных приложений .NET | Двоичная несовместимость / несовместимость исходного кода / изменение поведения |
| События трассировки CoreCLR заменяют события трассировки Mono | Двоичная несовместимость / несовместимость исходного кода / изменение поведения |
| Изменения в поведении отчетов о сбоях на мобильных платформах | Изменение поведения |
Отладка интерфейсов на мобильных платформах с переходом на ICorDebug |
Двоичная несовместимость / несовместимость исходного кода / изменение поведения |
| Минимальный уровень API Android повышен до 24 | Изменение поведения |
| Api внедрения Mono больше не поддерживаются на мобильных платформах | Двоичная несовместимость / несовместимость исходного кода / изменение поведения |
| Свойства проекта Mono больше не настраивают мобильные приложения | Изменение, несовместимое с источником/поведенческое изменение |
| Параметры среды выполнения Mono больше не используются для настройки мобильных приложений | Несовместимость поведенческой модели и исходного кода |
| UnwindNativeCode не поддерживается на целевых платформах Apple | Изменение, несовместимое с источником/поведенческое изменение |