Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы переносите приложение на .NET 5, критические изменения, перечисленные здесь, могут повлиять на вас. Изменения группируются по областям технологий, таким как ASP.NET Core или криптография.
В этой статье указывается, является ли каждое критическое изменение бинарно совместимым или совместимым на уровне кода.
- Двоичная совместимость . Существующие двоичные файлы будут загружаться и выполняться успешно без повторной компиляции, а поведение среды выполнения не изменится.
- Совместимость с исходным кодом. Исходный код успешно компилируется без изменений при нацеливание на новую среду выполнения или использование нового пакета SDK или компонента.
ASP.NET Core
См. критические изменения в ASP.NET Core 5.
Анализ кода
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| Предупреждение CA1416 | ✔️ | ❌ |
| Предупреждение CA1417 | ✔️ | ❌ |
| Предупреждение CA1831 | ✔️ | ❌ |
| Предупреждение CA2013 | ✔️ | ❌ |
| Предупреждение CA2014 | ✔️ | ❌ |
| Предупреждение CA2015 | ✔️ | ❌ |
| Предупреждение CA2200 | ✔️ | ❌ |
| Предупреждение CA2247 | ✔️ | ❌ |
Основные библиотеки .NET
Криптография
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| API-интерфейсы шифрования не поддерживаются в браузере | ❌ | ✔️ |
| Cryptography.Oid доступен только для инициализации | ✔️ | ❌ |
| Наборы шифров TLS по умолчанию в Linux | ❌ | ✔️ |
| Перегрузки Create() для криптографических абстракций устарели | ✔️ | ❌ |
| Изменено значение FeedbackSize по умолчанию | ✔️ | ❌ |
Entity Framework Core (платформа для работы с базами данных)
См. критические изменения в EF Core 5.0.
Глобализация
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| Использование библиотек ICU в Windows | ❌ | ✔️ |
| StringInfo и TextElementEnumerator совместимы с UAX29 | ❌ | ✔️ |
| Категория Юникода изменена для символов Latin-1 | ✔️ | ❌ |
| Изменены значения TextInfo.ListSeparator | ✔️ | ❌ |
Взаимодействие
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| Поддержка WinRT удалена | ❌ | ✔️ |
| Приведение RCW к InterfaceIsIInspectable вызывает исключение | ❌ | ✔️ |
| Отсутствует проверка суффиксов A/W на платформах, отличных от Windows | ❌ | ✔️ |
Нетворкинг
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| Обработка пути файлов cookie соответствует RFC 6265 | ✔️ | ❌ |
| LocalEndPoint обновляется после вызова SendToAsync | ✔️ | ❌ |
| MulticastOption.Group не принимает значение NULL | ✔️ | ❌ |
| Потоки позволяют последовательное выполнение операций Begin | ❌ | ✔️ |
| WinHttpHandler удален из среды выполнения .NET | ❌ | ✔️ |
Пакет SDK
Безопасность
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| API безопасности доступа к коду устарели | ✔️ | ❌ |
| PrincipalPermissionAttribute устарел | ✔️ | ❌ |
| Пути кода UTF-7 устарели | ✔️ | ❌ |
Сериализация
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| Метод BinaryFormatter.Deserialize повторно обрабатывает исключения | ✔️ | ❌ |
| JsonSerializer.Deserialize требует строки из одного символа | ✔️ | ❌ |
| Приложения ASP.NET Core десериализуют числа в кавычках | ✔️ | ❌ |
| JsonSerializer.Serialize создает исключение ArgumentNullException | ✔️ | ❌ |
| Недоступные конструкторы без параметров, не используемые для десериализации | ✔️ | ❌ |
| Параметры учитываются при сериализации пар ключ-значение | ✔️ | ❌ |
Windows Forms
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| Машинный код не может получить доступ к объектам Windows Forms | ✔️ | ❌ |
| OutputType установлен как WinExe | ❌ | ✔️ |
| DataGridView не сбрасывает пользовательские шрифты | ✔️ | ❌ |
| Методы вызывают ArgumentException | ✔️ | ❌ |
| Методы вызывают ArgumentNullException | ✔️ | ❌ |
| Свойства вызывают ArgumentOutOfRangeException | ✔️ | ❌ |
| TextFormatFlags.ModifyString устарел | ✔️ | ❌ |
| API DataGridView выбрасывают InvalidOperationException | ✔️ | ❌ |
| Приложения WinForms используют Microsoft.NET.Sdk | ❌ | ✔️ |
| Удалены элементы управления строкой состояния | ✔️ | ❌ |
WPF (Windows Presentation Foundation)
| Название | Бинарная совместимость | Совместимость с исходным кодом |
|---|---|---|
| OutputType установлен как WinExe | ❌ | ✔️ |
| Приложения WPF используют Microsoft.NET.Sdk | ❌ | ✔️ |