Start Debugging

migration

50 статей · Страница3из5

Перевод решения .NET на Central Package Management с Directory.Packages.props

Перенесите все версии пакетов из файлов csproj в один Directory.Packages.props. Разбираем скрипт-генератор, который сводит конфликтующие версии с настоящей semver-сортировкой, diff графа зависимостей до и после, доказывающий, что именно изменилось, NU1008/NU1010/NU1013/NU1507, транзитивное закрепление, GlobalPackageReference, VersionOverride и почему вложенный Directory.Packages.props незаметно перекрывает корневой.

Как заменить устаревшие groupValue и onChanged у Radio во Flutter на RadioGroup

Radio.groupValue и Radio.onChanged объявлены устаревшими после Flutter 3.32, а RadioGroup появился в 3.35. Пошаговая миграция для Radio, RadioListTile и CupertinoRadio, почему dart fix не сделает её за вас, и ловушка вывода обобщённых типов, из-за которой мигрированный radio молча остаётся отключённым. Проверено на Flutter 3.44.2 stable.

Перенос StatefulWidget с setState на Notifier из Riverpod во Flutter

Пошаговый переход от локального setState виджета к Notifier из Riverpod 3.x: как разделить состояние, написать Notifier, перейти на ConsumerWidget и пережить фильтрацию по ==, повторный вызов build() и разные значения autoDispose по умолчанию. Проверено на Flutter 3.44, Dart 3.x и flutter_riverpod 3.3.2.

Переход от блокирующих вызовов .Result/.Wait() к сквозной асинхронности в устаревшей кодовой базе на C#

Поэтапный план удаления sync-over-async из существующей кодовой базы .NET: инвентаризация анализаторами, измерение истощения ThreadPool, перевод по одной цепочке вызовов и доведение счётчика до нуля на .NET 11.

Переход от интерполяции строк в ILogger к шаблонам сообщений структурированного журналирования в .NET 11

Пошаговое руководство по переводу вызовов ILogger с $-интерполяцией на шаблоны сообщений и методы, сгенерированные через [LoggerMessage], в .NET 11: что ломается, как пройтись по кодовой базе с CA2254, как проверить состояние JSON и как откатиться.

Миграция Swashbuckle IOperationFilter и ISchemaFilter на трансформеры OpenAPI в .NET 11

Пофильтровый справочник по миграции для перевода кода IOperationFilter и ISchemaFilter из Swashbuckle на встроенные трансформеры операций и схем в .NET 11, с сопоставлением объектов контекста и изменениями Microsoft.OpenApi v2, которые ломают компиляцию.

Миграция minimal API с ручных проверок валидации на встроенную валидацию в ASP.NET Core 11

Пошаговое руководство по замене написанных вручную if-проверок в обработчиках minimal API на ASP.NET Core 11 встроенным валидатором на основе DataAnnotations и генерации исходного кода: что ломается, какие ручные правила переносятся, а какие нет, и как убедиться, что контракт 400 ProblemDetails остаётся прежним.

Переход с Riverpod 2.x на Riverpod 3.0 во Flutter

Пошаговое обновление с flutter_riverpod 2.x до 3.x: поднимите версии пакетов, перенесите StateProvider и его собратьев в legacy-импорт, откажитесь от ref-типов AutoDispose и Family, обработайте оборачивание в ProviderException и автоматический повтор, а также исправьте фильтрацию уведомлений по ==, которая молча теряет события StreamProvider. Проверено на Flutter 3.44, Dart 3.x, flutter_riverpod 3.3.2.
Назад Вперёд