Start Debugging

Блог

Страница 16 из 91

Как задать собственные соглашения об именовании первичных ключей, внешних ключей и индексов в миграциях EF Core 11

Переименуйте все PK_, FK_, AK_ и IX_, которые генерирует EF Core 11, с помощью одного IModelFinalizingConvention, сохраните приоритет явно заданных имён, уложитесь в ограничение длины идентификатора и избегите перестроения кластеризованного индекса, которое следующая миграция сгенерирует для существующей базы данных.

MessagePack 3.1.9 и 2.5.303 исправляют payload на 32 КиБ, который выделяет 120 МиБ

CVE-2026-92707: заголовки вложенных массивов MessagePack могли переиспользовать одни и те же оставшиеся байты, чтобы пройти проверку длины, поэтому десериализация в object выделяла в тысячи раз больше памяти, чем размер payload. Разбираем исправление, пробу до/после и почему приложениям SignalR на .NET 8-11 RC 1 нужен прямой пин пакета.

Миграция приложения EF Core с Cosmos DB после изменения экранирования генерируемых id в EF Core 11

EF Core 11 перестает экранировать '/', '\', '?' и '#' в генерируемых значениях id для Cosmos DB, поэтому документы, записанные EF Core 8-10, больше не находятся по ключу. Как понять, затронуты ли вы, когда включать переключатель EscapeIllegalCosmosIdCharacters и как безопасно переписать id с помощью транзакционного пакета.

Миграция Android-проекта Flutter на AGP 9 со встроенным Kotlin

Полный путь от Flutter-приложения на AGP 8, которое применяет kotlin-android, до AGP 9.1 с android.builtInKotlin=true на Flutter 3.47. Каждый шаг я собрал и проверил, включая две правки, которые выглядят необязательными, но таковыми не являются: kotlinOptions вызывает ошибку компиляции при KGP 2.2+, а строку KGP в settings.gradle.kts нужно оставить.

Уходим от describeEnum во Flutter, пока его не удалили

describeEnum помечен устаревшим начиная с Flutter 3.16, а PR с его удалением уже одобрен. Как заменить каждый вызов на Enum.name (Flutter 3.47.4, Dart 3.13), что делать с классами, похожими на enum, и с диагностикой, как найти вызовы, спрятанные в зависимостях вроде flutter_svg 1.x, и как выглядит ошибка сборки после удаления.

Polly 8.8 перезагружает resilience-конвейер из вашего собственного IOptionsMonitor

В Polly 8.8.0 появился EnableReloadsWithMonitor, и resilience-конвейер теперь может перезагружаться на лету из feature flag или монитора удалённой конфигурации, не зарегистрированного в DI. Тестовый прогон показывает пересборку, а заодно одну ловушку: context.GetOptions по-прежнему читает монитор из DI и возвращает значения по умолчанию.

Как поднять минимальную целевую версию развёртывания macOS-приложения на Flutter до macOS 12 для Xcode 27

Xcode 27 отказывается собирать всё, что ниже macOS 12, а Flutter 3.47 поднял собственный минимум с 10.15 до 12.0. Что переписывает автоматическая миграция, три места, которые она молча пропускает (нестандартные значения, переопределения в post_install в Podfile, podspec плагинов), и исправление Podfile для команд, которые пока остаются на Flutter 3.44.

CanvasKit или skwasm для Flutter web в 2026 году: какой рендерер выпускать?

Выпускайте skwasm через flutter build web --wasm, если ваши зависимости компилируются в Wasm: он загружает меньше и на тяжёлой сцене отрисовал на 36% больше кадров, чем CanvasKit. На Flutter 3.47.x оставайтесь в однопоточном режиме, пока исправление падения многопоточного режима на тексте не выйдет из beta.

Microsoft.Data.SqlClient vs System.Data.SqlClient в .NET 11

Используйте Microsoft.Data.SqlClient. System.Data.SqlClient объявлен устаревшим, уже выдаёт CS0618 на каждый тип, к которому вы прикасаетесь, и теряет свои .NET-ассеты, когда .NET 8 достигнет конца поддержки 2026-11-10, в тот же день, когда выходит .NET 11. Измеренный разрыв в возможностях, значение Encrypt по умолчанию, ломающее миграцию, и разделение пакета в 7.0.
2026-09-17 mstesttestingcsharp

MSTest 4.4.1 исправляет неоднозначные вызовы Assert с CS0121, которые 4.4.0 сломал ниже C# 14

MSTest 4.4.0 добавил перегрузки Span<T> и ReadOnlySpan<T> в Assert.Contains и Assert.DoesNotContain, из-за чего обычные проверки массивов и строк стали падать с CS0121 на net8.0, net9.0 и в любом проекте ниже C# 14. MSTest 4.4.1, опубликованный 2026-09-16, добавляет точные перегрузки для массивов и ограниченные перенаправляющие перегрузки. Две формы вызова с явным обобщённым аргументом по-прежнему не компилируются.