Критические изменения в .NET 6
При переносе приложения на платформу .NET 6 описанные здесь критические изменения могут повлиять на работу приложения. Изменения сгруппированы по технологическим областям, например, ASP.NET Core или Windows Forms.
В этой статье указывается, совместим ли каждое критическое изменение с двоичным кодом или совместимо с источником:
- Двоичная совместимость . Существующие двоичные файлы будут загружаться и выполняться успешно без повторной компиляции, а поведение во время выполнения не изменится.
- Совместимость с исходным кодом. Исходный код успешно компилируется без изменений при нацеливание на новую среду выполнения или использование нового пакета SDK или компонента.
ASP.NET Core
Контейнеры
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Форматирование средства ведения журнала консоли по умолчанию в образах контейнеров | ✔️ | ❌ |
Сведения о других критических изменениях для контейнеров в .NET 6 см. в заметках о выпуске контейнеров .NET 6.
Основные библиотеки .NET
Шифрование
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Методы CreateEncryptor создают исключение для неправильного размера обратной связи | ❌ | ✔️ |
Развертывание
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Путь к 64-разрядному узлу x86 в Windows | ✔️ | ✔️ |
Entity Framework Core
Критические изменения в EF Core 6
Расширения
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
AddProvider проверяет, что поставщик не поддерживает NULL | ✔️ | ❌ |
FileConfigurationProvider.Load вызывает исключение InvalidDataException | ✔️ | ❌ |
Повторяющиеся XML-элементы включают индекс | ❌ | ✔️ |
Разрешение удаления ServiceProvider вызывает исключение | ✔️ | ❌ |
Глобализация
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Создание языка и региональных параметров и сопоставление регистра в инвариантном режиме глобализации |
Interop
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Статические абстрактные элементы в интерфейсах | ❌ | ✔️ |
JIT-компилятор
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Приведение аргументов вызова в соответствии с ECMA-335 | ✔️ | ✔️ |
Сеть
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Порт удален из имени субъекта-службы для Kerberos и Negotiate | ❌ | ✔️ |
WebRequest, WebClient и ServicePoint устарели | ✔️ | ❌ |
SDK
Сериализация
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
DataContractSerializer сохраняет знак при десериализации -0 | ❌ | ✔️ |
Формат сериализации по умолчанию для TimeSpan | ❌ | ✔️ |
Сериализация IAsyncEnumerable | ✔️ | ❌ |
Рефакторинг API создания источника JSON | ❌ | ✔️ |
JsonNumberHandlingAttribute для свойств коллекции | ❌ | ✔️ |
Новые перегрузки генератора исходного кода JsonSerializer | ❌ | ✔️ |
Windows Forms
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Шаблоны C# используют начальную загрузку приложения | ✔️ | ❌ |
Выбранные свойства TableLayoutSettings выдают исключение InvalidEnumArgumentException | ❌ | ✔️ |
API, связанные с DataGridView, теперь вызывают исключение InvalidOperationException | ❌ | ✔️ |
Методы ListViewGroupCollection вызывают новое исключение InvalidOperationException | ❌ | ✔️ |
Увеличение максимальной длины текста NotifyIcon.Text | ❌ | ✔️ |
ScaleControl вызывается только при необходимости | ✔️ | ❌ |
Некоторые API создают исключение ArgumentNullException | ❌ | ✔️ |
TreeNodeCollection.Item создает исключение, если узел назначен в другом месте | ❌ | ✔️ |
XML и XSLT
Заголовок | Совместимость на уровне двоичных файлов | Совместимость на уровне исходного кода |
---|---|---|
Поведение XNodeReader.GetAttribute для недопустимого индекса | ✔️ | ❌ |
См. также
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.