<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Start Debugging (ru)</title><description>Programming-related thoughts.</description><link>https://startdebugging.net/</link><item><title>AddDbContextPool или AddDbContextFactory для параллельного выполнения запросов EF Core</title><link>https://startdebugging.net/ru/2026/10/adddbcontextpool-vs-adddbcontextfactory-for-running-ef-core-queries-in-parallel/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/adddbcontextpool-vs-adddbcontextfactory-for-running-ef-core-queries-in-parallel/</guid><description>AddDbContextPool выдаёт один scoped DbContext на область DI, поэтому не может выполнять два запроса одновременно. AddDbContextFactory и AddPooledDbContextFactory дают контекст на каждый вызов, а именно это нужно параллельным запросам. Замеры на EF Core 11 RC 1: пулированная фабрика создаёт контекст за 342 нс и 40 Б против 17 мкс и 44 КБ.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Agent Framework 1.24: пакет Anthropic Agent стал стабильным, кроме бета-сервисов</title><link>https://startdebugging.net/ru/2026/10/agent-framework-1-24-anthropic-agent-package-goes-stable/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/agent-framework-1-24-anthropic-agent-package-goes-stable/</guid><description>Microsoft.Agents.AI.Anthropic 1.24.0 теряет суффикс preview и зависит от Anthropic 12.53.0. Агенты, созданные из IAnthropicClient, теперь входят в стабильный API, а расширения client.Beta помечены как экспериментальные под MAAIANTHROPIC001, который не срабатывает при вызове через синтаксис методов расширения.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Миграция пользовательских переходов между страницами после реорганизации page transition builders во Flutter (Flutter 3.44 - 3.47)</title><link>https://startdebugging.net/ru/2026/10/migrate-custom-page-transitions-after-the-flutter-page-transition-builders-reorganization/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/migrate-custom-page-transitions-after-the-flutter-page-transition-builders-reorganization/</guid><description>Flutter перенёс PageTransitionsBuilder и два встроенных билдера в слой widgets, а CupertinoPageTransitionsBuilder вынес из Material. Что на самом деле ломается (один импорт, с вводящей в заблуждение ошибкой &apos;Not a constant expression&apos;), что делает dart fix и в чём он ошибается для проектов на material_ui, и как переписать пользовательские билдеры и маршруты, чтобы они вообще не зависели от Material.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Миграция настольного приложения Flutter для Windows или Linux на Impeller (Flutter 3.47)</title><link>https://startdebugging.net/ru/2026/10/migrate-a-flutter-windows-or-linux-desktop-app-to-impeller/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/migrate-a-flutter-windows-or-linux-desktop-app-to-impeller/</guid><description>Flutter 3.47 делает Impeller рендерером по умолчанию в Windows и Linux. Что на самом деле меняется под капотом (это по-прежнему OpenGL ES, а не Vulkan), как сравнить с Skia на готовой сборке, переключатель отключения для отдельной машины в релизных сборках и почему golden-тесты ничего не заметят.</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate></item><item><title>C# Dev Kit 11.0 сводит шесть процессов в один бинарный файл Native AOT</title><link>https://startdebugging.net/ru/2026/10/csharp-dev-kit-11-native-aot-opens-solutions-in-a-second/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/csharp-dev-kit-11-native-aot-opens-solutions-in-a-second/</guid><description>Предварительная версия C# Dev Kit 11.0 заменяет шесть управляемых процессов одним процессом CSDevKit на Native AOT и добавляет постоянный кеш проектов. Решение Aspire из 407 проектов готово за 3.0 с вместо 84.1 с и занимает 316 МБ вместо 2 072 МБ.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: dotnet test переключается на VSTest в Linux CI, хотя проект использует Microsoft.Testing.Platform</title><link>https://startdebugging.net/ru/2026/10/fix-dotnet-test-falls-back-to-vstest-in-linux-ci-microsoft-testing-platform/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-dotnet-test-falls-back-to-vstest-in-linux-ci-microsoft-testing-platform/</guid><description>dotnet test выбирает раннер по global.json, который ищется вверх от рабочего каталога. В Linux CI он переключается на VSTest, если файла нет, он назван неверно, ключ написан в неправильном регистре или SDK старше 10.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Bad state: No suitable NDK found for target architecture arm64 в сборке Flutter</title><link>https://startdebugging.net/ru/2026/10/fix-no-suitable-ndk-found-for-target-architecture-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-no-suitable-ndk-found-for-target-architecture-in-flutter/</guid><description>Хук сборки android_libcpp_shared (версии 0.2.0 и старше) не находит ваш NDK, либо ваш minSdk выше самого нового API в NDK. Обновитесь до 0.2.1+ или установите NDK, который покрывает ваш minSdk.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Префикс ключа, отдельная база данных или отдельный экземпляр Redis для мультитенантного кеширования в ASP.NET Core</title><link>https://startdebugging.net/ru/2026/10/redis-key-prefix-vs-separate-database-vs-separate-instance-for-multi-tenant-caching-in-aspnetcore/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/redis-key-prefix-vs-separate-database-vs-separate-instance-for-multi-tenant-caching-in-aspnetcore/</guid><description>Почти для любого мультитенантного приложения ASP.NET Core используйте префикс тенанта на одном общем Redis, выносите на отдельный экземпляр только тенантов с договорными требованиями к изоляции или шумной нагрузкой и не используйте нумерованные базы данных: Redis Cluster, Azure Managed Redis и Redis Cloud поддерживают только базу 0.</description><pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: BoxConstraints forces an infinite height во Flutter</title><link>https://startdebugging.net/ru/2026/10/fix-boxconstraints-forces-an-infinite-height-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-boxconstraints-forces-an-infinite-height-in-flutter/</guid><description>Виджет запросил height: double.infinity внутри родителя без ограничения по высоте, например Column или ListView. Используйте Expanded, конечную высоту, LimitedBox или SliverFillRemaining.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: ClassNotFoundException для MainActivity при запуске Android-приложения на Flutter</title><link>https://startdebugging.net/ru/2026/10/fix-classnotfoundexception-for-mainactivity-when-a-flutter-android-app-launches/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-classnotfoundexception-for-mainactivity-when-a-flutter-android-app-launches/</guid><description>.MainActivity в манифесте разрешается относительно namespace из Gradle, а класса с таким именем в APK нет. Приведите namespace, строку package в Kotlin и манифест к одному значению.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Invalid column name &apos;Value&apos; при использовании SqlQueryRaw&lt;T&gt; для скалярного результата в EF Core</title><link>https://startdebugging.net/ru/2026/10/fix-invalid-column-name-value-when-using-sqlqueryraw-for-a-scalar-in-ef-core/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-invalid-column-name-value-when-using-sqlqueryraw-for-a-scalar-in-ef-core/</guid><description>EF Core оборачивает скалярный SqlQuery&lt;T&gt; в подзапрос и выбирает столбец с именем Value, как только вы добавляете First, Where, Max или Single. Задайте в SQL псевдоним AS Value или сначала материализуйте результат.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: There is already an object named &apos;X&apos; in the database после сброса миграций EF Core</title><link>https://startdebugging.net/ru/2026/10/fix-there-is-already-an-object-named-in-the-database-after-resetting-ef-core-migrations/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-there-is-already-an-object-named-in-the-database-after-resetting-ef-core-migrations/</guid><description>После удаления папки Migrations и создания нового InitialCreate EF Core не знает, что ваши таблицы уже существуют. Удалите базу данных для разработки или запишите новую миграцию в __EFMigrationsHistory, не выполняя её.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate></item><item><title>MSTest 4.5 запускает UI-тесты UWP и WinUI 3 без VSTest</title><link>https://startdebugging.net/ru/2026/10/mstest-4-5-uitestmethod-uwp-winui-3-without-vstest/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/mstest-4-5-uitestmethod-uwp-winui-3-without-vstest/</guid><description>MSTest.Sdk 4.5 и Microsoft.Testing.Platform 2.5 делают само приложение UWP или WinUI 3 хостом тестов. [UITestMethod] выполняет каждый тест в настоящем диспетчере, упакованные приложения и приложения AppContainer активируются по AUMID через вспомогательный контроллер, а неупакованный WinUI наконец заработал.</description><pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Timeout waiting to lock journal cache в Android-сборке Flutter</title><link>https://startdebugging.net/ru/2026/10/fix-timeout-waiting-to-lock-journal-cache-in-a-flutter-android-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-timeout-waiting-to-lock-journal-cache-in-a-flutter-android-build/</guid><description>Другой процесс Gradle удерживает ~/.gradle/caches/journal-1 и не может передать блокировку. Найдите Owner PID, завершите этот демон и перестаньте удалять файлы .lock: это лишь переносит ошибку.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Как зарезервировать место под адаптивный баннер AdMob во Flutter, чтобы избежать сдвига макета</title><link>https://startdebugging.net/ru/2026/10/how-to-reserve-space-for-an-adaptive-admob-banner-in-flutter-to-avoid-layout-shift/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/how-to-reserve-space-for-an-adaptive-admob-banner-in-flutter-to-avoid-layout-shift/</guid><description>Официальный пример google_mobile_ads ничего не рисует до onAdLoaded, поэтому ваш контент прыгает на 150 dp через несколько секунд после появления экрана. Сначала запросите размер закреплённого адаптивного баннера, зарезервируйте его через SizedBox, сохраните высоту между запусками и только потом загружайте рекламу. Измерения выполнены на Flutter 3.44.8 с google_mobile_ads 9.1.0.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Orleans 10.4: подписки на потоки теперь могут начинаться с самого старого сообщения в кеше</title><link>https://startdebugging.net/ru/2026/10/orleans-10-4-stream-subscriptions-can-start-from-earliest-available/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/orleans-10-4-stream-subscriptions-can-start-from-earliest-available/</guid><description>Orleans 10.4.0 добавляет StreamSubscriptionStartPosition.EarliestAvailable, так что новый подписчик потока может получить повторно всё, что ещё находится в кеше очереди pulling agent. Также в выпуске изменены идентификаторы аргументов RPC в сетевом формате, метрики задержки запросов и скрипты персистентности для SQLite.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Как отслеживать блокировку, разблокировку, вход и выход из сеанса Windows в приложении на C#</title><link>https://startdebugging.net/ru/2026/10/how-to-detect-windows-session-lock-unlock-logon-and-logoff-events-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/how-to-detect-windows-session-lock-unlock-logon-and-logoff-events-in-csharp/</guid><description>Используйте SystemEvents.SessionSwitch в настольном или консольном приложении, переопределите OnSessionChange в службе Windows или перехватывайте WM_WTSSESSION_CHANGE самостоятельно. Код на .NET 10 для всех трёх вариантов, скрытый поток &apos;.NET System Events&apos;, почему служба видит вход в систему, а настольное приложение нет, уведомления не по порядку и как узнать текущее состояние блокировки через WTSQuerySessionInformation.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить полный открытый ключ сборки со строгим именем в InternalsVisibleTo в проекте SDK-стиля</title><link>https://startdebugging.net/ru/2026/10/how-to-add-a-strong-named-assemblys-full-public-key-to-internalsvisibleto/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/how-to-add-a-strong-named-assemblys-full-public-key-to-internalsvisibleto/</guid><description>Подписанная сборка должна указывать дружественную сборку по полному открытому ключу из 320 символов, а не по токену, иначе сборка падает с CS1726 или CS0281. Получите ключ с помощью sn -p и sn -tp или кроссплатформенного скрипта на .NET, затем поместите его в метаданные Key элемента InternalsVisibleTo в .csproj. Также разобраны запасной вариант со свойством PublicKey, ключ DynamicProxyGenAssembly2 для Moq и ловушка с переносами строк.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Как задать параметры сеанса PostgreSQL, такие как search_path или statement_timeout, для каждого подключения EF Core с Npgsql</title><link>https://startdebugging.net/ru/2026/10/how-to-set-postgresql-session-parameters-on-every-ef-core-connection-with-npgsql/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/how-to-set-postgresql-session-parameters-on-every-ef-core-connection-with-npgsql/</guid><description>Однократно выполненный SET стирается командой DISCARD ALL в тот момент, когда Npgsql возвращает подключение в пул. Передайте search_path и statement_timeout в стартовом пакете через ключевые слова строки подключения Search Path и Options, а при необходимости используйте ALTER ROLE или перехватчик ConnectionOpened, и узнайте, почему UsePhysicalConnectionInitializer молча теряет свой SET.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate></item><item><title>NUnit 5: Assert.ThrowsAsync теперь возвращает Task, а без await тест проходит молча</title><link>https://startdebugging.net/ru/2026/10/nunit-5-assert-throwsasync-must-be-awaited/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/nunit-5-assert-throwsasync-must-be-awaited/</guid><description>NUnit 5.0.0 делает Assert.ThrowsAsync, CatchAsync и DoesNotThrowAsync по-настоящему асинхронными. Если забыть await, проверка просто не выполнится. Что ломается, что ловит правило NUnit2059 из NUnit.Analyzers и какие ещё изменения NUnit 5 стоит проверить перед обновлением.</description><pubDate>Sun, 04 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Как синхронно дождаться ValueTask в неасинхронном методе без выделения памяти</title><link>https://startdebugging.net/ru/2026/10/how-to-wait-for-a-valuetask-synchronously-without-allocating/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/how-to-wait-for-a-valuetask-synchronously-without-allocating/</guid><description>Сначала проверьте IsCompleted и прочитайте результат через GetAwaiter().GetResult(): это стоит 0 байт. Блокируйтесь только если ValueTask ещё не завершён, и делайте это через кешированное событие и UnsafeOnCompleted вместо AsTask(), который выделяет от 72 до 208 байт на вызов. Измерено на .NET 10 и .NET 11 RC1.</description><pubDate>Sat, 03 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Agent Framework 1.23: middleware функций наконец может подменить вызываемый инструмент</title><link>https://startdebugging.net/ru/2026/10/agent-framework-1-23-function-middleware-can-now-swap-the-tool/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/agent-framework-1-23-function-middleware-can-now-swap-the-tool/</guid><description>Microsoft Agent Framework .NET 1.23.0 учитывает присваивание FunctionInvocationContext.Function, поэтому middleware может перенаправить вызов инструмента на другую AIFunction. Новый хелпер WrapWithPendingMiddleware сохраняет участие остальной цепочки.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate></item><item><title>EF.Parameter или EF.Constant в запросах EF Core 11</title><link>https://startdebugging.net/ru/2026/10/ef-parameter-vs-ef-constant-in-ef-core-11-queries/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/ef-parameter-vs-ef-constant-in-ef-core-11-queries/</guid><description>EF.Constant встраивает захваченное значение в SQL как литерал, EF.Parameter превращает литерал в SQL-параметр. Оставляйте поведение EF Core по умолчанию, используйте EF.Parameter, чтобы динамически построенные деревья выражений не перекомпилировались при каждом вызове, а EF.Constant применяйте только для значений с небольшим набором вариантов и настолько перекошенными данными, что каждому нужен свой план.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Undefined name &apos;awaitNotRequired&apos; в material_ui или cupertino_ui на Flutter 3.44</title><link>https://startdebugging.net/ru/2026/10/fix-undefined-name-awaitnotrequired-material-ui-cupertino-ui-flutter-3-44/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-undefined-name-awaitnotrequired-material-ui-cupertino-ui-flutter-3-44/</guid><description>material_ui 1.3.0 и cupertino_ui 1.1.0 используют аннотацию, которую Flutter 3.44 не экспортирует. Обе версии отозваны, но lock-файл их сохраняет. Выполните downgrade, затем upgrade, чтобы получить 1.2.0 и 1.0.2.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Volatile.Read и Volatile.ReadBarrier в .NET 10</title><link>https://startdebugging.net/ru/2026/10/volatile-read-vs-volatile-readbarrier-in-dotnet-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/volatile-read-vs-volatile-readbarrier-in-dotnet-10/</guid><description>Volatile.Read выполняет чтение одной ячейки с семантикой acquire. Volatile.ReadBarrier, новый в .NET 10, это барьер, который придаёт семантику acquire всем предшествующим чтениям. Используйте Volatile.Read для флагов и опубликованных ссылок, а ReadBarrier, когда нужно, чтобы пачка обычных или неатомарных чтений завершилась до следующего обращения к памяти, как в seqlock.</description><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: CS8509 или CS0161 на switch, который исчерпывающий для типа union из C# 15</title><link>https://startdebugging.net/ru/2026/10/fix-cs8509-cs0161-switch-exhaustive-over-csharp-15-union-type/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-cs8509-cs0161-switch-exhaustive-over-csharp-15-union-type/</guid><description>Делайте switch по самому union, а не по .Value, и используйте switch-выражение или добавьте case null в оператор switch. Операторам нужно покрытие null, а выражения лишь выдают предупреждение.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: dotnet test завершается с кодом 5 и &quot;Zero tests ran&quot; на Microsoft.Testing.Platform</title><link>https://startdebugging.net/ru/2026/10/fix-dotnet-test-exit-code-5-zero-tests-ran-microsoft-testing-platform/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/fix-dotnet-test-exit-code-5-zero-tests-ran-microsoft-testing-platform/</guid><description>Код выхода 5 означает, что MTP отклонил параметр командной строки, а не то, что тесты отсутствуют. Запустите исполняемый файл тестов напрямую, чтобы увидеть настоящую ошибку, затем добавьте пакет расширения или направьте параметр только в нужные проекты.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate></item><item><title>.NET MAUI 10.0.110 исправляет шесть утечек памяти, найденных агентным охотником за утечками</title><link>https://startdebugging.net/ru/2026/10/maui-10-0-110-fixes-six-leaks-found-by-an-agentic-leak-hunter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/10/maui-10-0-110-fixes-six-leaks-found-by-an-agentic-leak-hunter/</guid><description>MAUI 10.0.110 содержит исправления шести утечек в BackButtonBehavior, SwipeItemView, ListView.RefreshCommand, IndicatorView, GeometryGroup и TableView. Большинство из них были заведены и исправлены рабочими процессами gh-aw, и они особенно важны, если вы используете RelayCommand из CommunityToolkit.Mvvm.</description><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Панель мониторинга Aspire 13.6 хранит последние десять запусков в SQLite</title><link>https://startdebugging.net/ru/2026/09/aspire-13-6-dashboard-keeps-your-last-ten-runs/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/aspire-13-6-dashboard-keeps-your-last-ten-runs/</guid><description>Aspire 13.6.0 делает панель мониторинга постоянной: снимки ресурсов и телеметрия сохраняются в базе данных SQLite, AppHost хранит до десяти запусков на приложение, а завершённые запуски остаются доступны для просмотра в режиме только чтения. Как работают режимы Run, Resume и None и как настроить автономную панель.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate в Docker-образе Dart 3.13</title><link>https://startdebugging.net/ru/2026/09/fix-certificate-verify-failed-in-dart-3-13-docker-image/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-certificate-verify-failed-in-dart-3-13-docker-image/</guid><description>Dart 3.13 убрал из VM встроенные резервные корневые сертификаты. Добавьте CA-бандл в образ времени выполнения: COPY /runtime/ из dart:stable или установите ca-certificates.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Can&apos;t have modifier &apos;final&apos; here для параметров после обновления до Dart 3.13</title><link>https://startdebugging.net/ru/2026/09/fix-dart-3-13-cant-have-modifier-final-here-on-parameters/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-dart-3-13-cant-have-modifier-final-here-on-parameters/</guid><description>Dart 3.13 резервирует final и var в списках параметров для первичных конструкторов. Запустите dart fix --apply --code=extraneous_modifier, чтобы убрать их, а вместо final используйте lint parameter_assignments.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: переменные окружения из launchSettings.json игнорируются в профиле с commandName: Executable</title><link>https://startdebugging.net/ru/2026/09/fix-launchsettings-environment-variables-ignored-for-executable-profile/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-launchsettings-environment-variables-ignored-for-executable-profile/</guid><description>Если ваш профиль Executable запускает dotnet run или dotnet watch, вложенная команда применяет профиль по умолчанию и перезаписывает ваши переменные. Добавьте --no-launch-profile и используйте SDK 10.0.200+.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Blazor получает компоненты агентного UI в .NET 11 RC1: ChatPage, UIAgent и подтверждение вызова инструментов</title><link>https://startdebugging.net/ru/2026/09/blazor-ai-components-agentic-ui-dotnet-11-rc1/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/blazor-ai-components-agentic-ui-dotnet-11-rc1/</guid><description>Microsoft.AspNetCore.Components.AI - экспериментальный пакет Blazor в .NET 11 RC1, который превращает любой IChatClient в потоковый чат-интерфейс с подтверждением вызова инструментов, типизированным отображением инструментов и общим состоянием поверх AG-UI.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: значки строки состояния Android нечитаемы после включения UseMaterial3 в .NET MAUI 10</title><link>https://startdebugging.net/ru/2026/09/fix-android-status-bar-icons-unreadable-after-enabling-usematerial3-in-maui-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-android-status-bar-icons-unreadable-after-enabling-usematerial3-in-maui-10/</guid><description>MAUI 10.0.100 выбирает цвет значков строки состояния по colorPrimary, а его яркость противоположна яркости поверхности Material 3, поэтому получается белое на белом или чёрное на чёрном. Обновите Microsoft.Maui.Controls до 10.0.101 или новее либо сбросьте AppearanceLightStatusBars в MainActivity.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: EF Core `Contains` для static readonly `IList&lt;T&gt;` или `ISet&lt;T&gt;` не удаётся транслировать</title><link>https://startdebugging.net/ru/2026/09/fix-ef-core-contains-on-a-static-readonly-ilist-or-iset-fails-to-translate/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-ef-core-contains-on-a-static-readonly-ilist-or-iset-fails-to-translate/</guid><description>EF Core 8, 9 и 10 не могут транслировать Contains, если список является static readonly полем типа IList, ICollection, ISet или IReadOnlySet. Вызовите Enumerable.Contains явно или перейдите на EF Core 11.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: WebSocket горячей перезагрузки Blazor в dotnet watch не работает на собственном локальном домене (403)</title><link>https://startdebugging.net/ru/2026/09/fix-dotnet-watch-blazor-hot-reload-websocket-fails-on-custom-local-domain/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-dotnet-watch-blazor-hot-reload-websocket-fails-on-custom-local-domain/</guid><description>Начиная с сентябрьских SDK .NET 2026 года (10.0.112, 10.0.401, 11 RC1) dotnet watch отклоняет WebSocket-подключения browser-refresh с неизвестных источников. Задайте DOTNET_WATCH_AUTO_RELOAD_WS_ORIGINS равным имени вашего хоста.</description><pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: .NET MAUI Entry с Keyboard.Numeric показывает маленькую цифровую панель, а затем полную клавиатуру на iPadOS 26</title><link>https://startdebugging.net/ru/2026/09/fix-maui-numeric-entry-small-numpad-then-full-keyboard-on-ipados-26/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-maui-numeric-entry-small-numpad-then-full-keyboard-on-ipados-26/</guid><description>В iPadOS 26 MAUI сопоставляет Keyboard.Numeric с UIKeyboardType.DecimalPad, который теперь открывается как плавающая мини-панель с цифрами. Добавьте маппер, переключающий iPad на NumbersAndPunctuation, и проверяйте ввод самостоятельно.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: MAUIR0001 MissingMethodException в .NET MAUI Resizetizer на SVG с &lt;filter&gt; или &lt;text&gt;</title><link>https://startdebugging.net/ru/2026/09/fix-maui-resizetizer-mauir0001-missingmethodexception-svg-filter-text/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-maui-resizetizer-mauir0001-missingmethodexception-svg-filter-text/</guid><description>MAUI 10.0.101 и 10.0.110 Resizetizer поставляются с несовпадающими ссылками на System.Memory, поэтому SVG с фильтрами или текстом падают с ошибкой. Зафиксируйте Resizetizer на версии 10.0.100 или уберите filter и text.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Quartz.NET 4.2 превращает некорректные cron-выражения в ошибки сборки</title><link>https://startdebugging.net/ru/2026/09/quartz-net-4-2-turns-bad-cron-expressions-into-build-errors/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/quartz-net-4-2-turns-bad-cron-expressions-into-build-errors/</guid><description>Quartz.NET 4.2.0 поставляется с анализатором Roslyn, который отклоняет непарсящиеся cron-литералы как QZ0001 на этапе компиляции, а также с генератором исходного кода, который превращает атрибуты [QuartzJob] и [CronTrigger] в регистрацию AddDeclaredJobs(). Разбираем, что он проверяет, как выглядит сгенерированный код и как от этого отказаться.</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate></item><item><title>AG-UI .NET SDK 1.0: AGUI.Server и AGUI.Client выносят протокол из Agent Framework</title><link>https://startdebugging.net/ru/2026/09/ag-ui-dotnet-sdk-1-0-moves-agui-out-of-agent-framework/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/ag-ui-dotnet-sdk-1-0-moves-agui-out-of-agent-framework/</guid><description>У протокола AG-UI появился самостоятельный .NET SDK: AGUI.Server 1.0.0 превращает любой IChatClient в поток событий AG-UI через SSE, а AGUIChatClient использует AG-UI endpoint как IChatClient, вплоть до .NET Framework 4.7.2. Пользователям Agent Framework достались переименованные API.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: MediaPicker.CapturePhotoAsync возвращает PNG вместо JPEG в .NET MAUI 10</title><link>https://startdebugging.net/ru/2026/09/fix-mediapicker-capturephotoasync-returns-png-instead-of-jpeg-in-maui-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-mediapicker-capturephotoasync-returns-png-instead-of-jpeg-in-maui-10/</guid><description>На iOS MAUI 10 перекодирует снимки с камеры в PNG, если CompressionQuality равно 90 или выше и не задан MaximumWidth/Height, что включает значение по умолчанию. Установите CompressionQuality на 89 или ниже либо добавьте MaximumWidth только для iOS.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить уникальный индекс на JSON-сопоставленное свойство в EF Core 11 (SQL Server и SQLite)</title><link>https://startdebugging.net/ru/2026/09/how-to-add-a-unique-index-on-a-json-mapped-property-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-add-a-unique-index-on-a-json-mapped-property-in-ef-core-11/</guid><description>HasIndex(...).IsUnique() на члене ToJson() не обеспечивает уникальность в EF Core 11 RC 1: SQL Server отбрасывает IsUnique, а SQLite индексирует весь документ. Вынесите значение JSON в вычисляемый столбец и поставьте уникальный индекс на него.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как ускорить медленный сервер анализа Dart в VS Code для большого монорепозитория Flutter</title><link>https://startdebugging.net/ru/2026/09/how-to-speed-up-a-slow-dart-analysis-server-in-vs-code-for-a-large-flutter-monorepo/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-speed-up-a-slow-dart-analysis-server-in-vs-code-for-a-large-flutter-monorepo/</guid><description>Монорепозиторий с десятками файлов pubspec.yaml заставляет сервер анализа Dart строить по контексту анализа на каждый пакет, и именно туда уходят память и минутный запуск. Переведите репозиторий на pub workspace, исключите сгенерированный код в analysis_options.yaml, откажитесь от устаревших плагинов анализатора и подтвердите результат на странице Insights. Измерено на Dart 3.12.2: в 2.3 раза меньше пиковой памяти и вдвое меньше времени холодного анализа.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: отладчик Flutter переходит в binding.dart при hot reload без какой-либо ошибки</title><link>https://startdebugging.net/ru/2026/09/fix-flutter-debugger-jumps-into-binding-dart-on-hot-reload/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-flutter-debugger-jumps-into-binding-dart-on-hot-reload/</guid><description>Баг dwds во Flutter 3.35 для web отправлял ложную паузу при каждом hot reload. Обновитесь до Flutter 3.38+ или верните в VS Code режим &apos;Debug my code&apos;, чтобы фреймы пакетов пропускались.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: встроенное видео YouTube показывает &quot;Video unavailable&quot; (Error 152 / 153) во Flutter с youtube_player_iframe</title><link>https://startdebugging.net/ru/2026/09/fix-youtube-embed-video-unavailable-error-152-153-in-flutter-youtube-player-iframe/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-youtube-embed-video-unavailable-error-152-153-in-flutter-youtube-player-iframe/</guid><description>Error 153 означает, что YouTube не получил Referer; 152 означает, что страница выдаёт себя за youtube.com. Обновите youtube_player_iframe до 6.0.2 и задайте origin как https://&lt;id вашего приложения&gt; или используйте youtube-nocookie на 5.x.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft.Extensions.AI.OpenAI 10.10.1 исправляет TypeLoadException с OpenAI 2.14</title><link>https://startdebugging.net/ru/2026/09/microsoft-extensions-ai-10-10-1-fixes-openai-2-14-typeloadexception/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/microsoft-extensions-ai-10-10-1-fixes-openai-2-14-typeloadexception/</guid><description>OpenAI 2.14.0 переименовал GlobalMcpToolCallApprovalPolicy, и из-за этого сломался каждый вызов Responses API с инструментами через Microsoft.Extensions.AI.OpenAI 10.10.0. Версия 10.10.1 переходит на OpenAI 2.14.0 и заодно получает исправление null-статуса reasoning для OpenAI-совместимых эндпоинтов.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: ASP.NET Core возвращает 400 &quot;The X field is required&quot; для свойства типа string, не допускающего null</title><link>https://startdebugging.net/ru/2026/09/fix-aspnetcore-400-the-field-is-required-non-nullable-string/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-aspnetcore-400-the-field-is-required-non-nullable-string/</guid><description>При &lt;Nullable&gt;enable&lt;/Nullable&gt; MVC обрабатывает каждый ссылочный тип, не допускающий null, как [Required(AllowEmptyStrings = true)]. Объявите необязательные свойства как string?, задайте им значение по умолчанию или установите SuppressImplicitRequiredAttributeForNonNullableReferenceTypes.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: e: Daemon compilation failed: null в сборке Flutter Android на Gradle</title><link>https://startdebugging.net/ru/2026/09/fix-daemon-compilation-failed-null-in-a-flutter-android-gradle-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-daemon-compilation-failed-null-in-a-flutter-android-gradle-build/</guid><description>В Windows инкрементальная компиляция Kotlin падает, если проект Flutter и кеш pub находятся на разных дисках. Перенесите PUB_CACHE на диск проекта или отключите IC для плагинов из кеша pub.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Failed to decode advisories for archive from https://pub.dev в flutter pub get</title><link>https://startdebugging.net/ru/2026/09/fix-failed-to-decode-advisories-for-archive-from-pub-dev/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-failed-to-decode-advisories-for-archive-from-pub-dev/</guid><description>Предупреждение об advisories в pub get безвредно: pub get завершается с кодом 0. pub.dev исправил некорректный ответ 2026-05-04. Если вы все еще его видите, причина в зеркале или прокси.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Refit 16.1 сам пишет цикл пагинации: PagedEnumerable, [Paged] и [PageToken]</title><link>https://startdebugging.net/ru/2026/09/refit-16-1-generates-the-paging-loop-with-pagedenumerable/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/refit-16-1-generates-the-paging-loop-with-pagedenumerable/</guid><description>Refit 16.1.0 позволяет методу интерфейса возвращать PagedEnumerable&lt;TPage, TItem&gt;, а генератор исходного кода создает цикл с запросом на каждую страницу для курсоров, смещений, заголовков ответа и ссылок на следующую страницу. Здесь показано, как объявить такой метод, как ведет себя перечисление и какую ошибку сборки RF013 вы получите за опечатку в имени члена.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправляем: Conflicting assets with the same target path после перехода на .NET 10 SDK</title><link>https://startdebugging.net/ru/2026/09/fix-conflicting-assets-with-the-same-target-path-in-aspnetcore-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-conflicting-assets-with-the-same-target-path-in-aspnetcore-10/</guid><description>В .NET 10 SDK каждый проект Microsoft.NET.Sdk.Web получает StaticWebAssetBasePath=/, поэтому веб-приложение, ссылающееся на другое веб-приложение, вызывает конфликт. Задайте базовый путь в проекте, на который ссылаются. Отключение сжатия не помогает.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: HttpIOException: The response ended prematurely от HttpClient в .NET</title><link>https://startdebugging.net/ru/2026/09/fix-httpioexception-the-response-ended-prematurely-httpclient/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-httpioexception-the-response-ended-prematurely-httpclient/</guid><description>HttpClient повторно использует keep-alive соединение, которое сервер только что закрыл, или сервер обрывает соединение посреди ответа. Сделайте PooledConnectionIdleTimeout меньше таймаута простоя сервера и повторяйте только идемпотентные запросы.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Unable to find the required &apos;IAuthenticationService&apos; service с [Authorize(Policy = ...)] в Blazor</title><link>https://startdebugging.net/ru/2026/09/fix-unable-to-find-the-required-iauthenticationservice-blazor-authorize-policy/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-unable-to-find-the-required-iauthenticationservice-blazor-authorize-policy/</guid><description>Страница Blazor Web App с [Authorize] становится конечной точкой, которую проверяет AuthorizationMiddleware, а неудачная проверка вызывает ChallengeAsync, для которого нужен AddAuthentication. Зарегистрируйте настоящую схему или пропускайте конечные точки компонентов дальше, к AuthorizeRouteView.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft меняет сертификат авторской подписи NuGet: исправьте trustedSigners до появления NU3034</title><link>https://startdebugging.net/ru/2026/09/microsoft-nuget-author-signing-certificate-rotation-nu3034/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/microsoft-nuget-author-signing-certificate-rotation-nu3034/</guid><description>С 23 сентября 2026 года пакеты Microsoft в NuGet получают авторскую подпись новым сертификатом (SHA-256 9A1B131B...). Если ваш nuget.config закрепляет Microsoft в trustedSigners, восстановление пакетов завершится ошибкой NU3034. Разбираем исправление, включая правильную команду dotnet nuget trust.</description><pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: собственный DelegatingHandler не запускается повторно при каждом retry с AddStandardResilienceHandler</title><link>https://startdebugging.net/ru/2026/09/fix-delegatinghandler-not-running-on-each-retry-with-addstandardresiliencehandler/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-delegatinghandler-not-running-on-each-retry-with-addstandardresiliencehandler/</guid><description>DelegatingHandler, зарегистрированный до AddStandardResilienceHandler, выполняется один раз на логический запрос, а не на каждую повторную попытку. Перенесите его после обработчика устойчивости и сделайте идемпотентным, потому что retry повторно отправляет тот же HttpRequestMessage. Проверено на Microsoft.Extensions.Http.Resilience 10.10.0 и 8.10.0.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: IConfiguration.Bind не заполняет свойство-массив или List&lt;T&gt; из appsettings.json</title><link>https://startdebugging.net/ru/2026/09/fix-iconfiguration-bind-does-not-populate-an-array-or-list-property/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-iconfiguration-bind-does-not-populate-an-array-or-list-property/</guid><description>Биндер молча пропускает свойства-массивы без публичного сеттера, IReadOnlyList&lt;T&gt; только для чтения, поля и init-члены при генераторе исходного кода, а также добавляет элементы к значениям по умолчанию вместо их замены. Проверено на .NET 10.0.12 и 11 RC 1.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как сериализовать публичные поля, такие как Vector3 и Quaternion, с помощью System.Text.Json</title><link>https://startdebugging.net/ru/2026/09/how-to-serialize-vector3-and-quaternion-with-system-text-json/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-serialize-vector3-and-quaternion-with-system-text-json/</guid><description>System.Text.Json записывает Vector3 как {}, а Quaternion как {&quot;IsIdentity&quot;:false}, потому что эти типы хранят данные в публичных полях. Разбираем, как это исправляют IncludeFields, собственный конвертер, модификатор resolver и генерация исходного кода, с измерениями на .NET 10 и .NET 11 RC 1.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>StackExchange.Redis 3.3 уходит с узла Redis до того, как сервер разорвёт соединение</title><link>https://startdebugging.net/ru/2026/09/stackexchange-redis-3-3-smart-client-handoffs/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/stackexchange-redis-3-3-smart-client-handoffs/</guid><description>StackExchange.Redis 3.3.0 добавляет включаемые по желанию уведомления об обслуживании (smart client handoffs) для Redis Enterprise, Redis Cloud и Azure Managed Redis: смягчённые таймауты во время миграций, повторное чтение топологии и заблаговременный переход до исчезновения конечной точки. Разбираем, как это включить и с какой ошибкой SER010 вы столкнётесь первой.</description><pubDate>Wed, 23 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как запретить Flutter WebView переходить на внешние URL с помощью NavigationDelegate</title><link>https://startdebugging.net/ru/2026/09/how-to-block-a-flutter-webview-from-navigating-to-external-urls/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-block-a-flutter-webview-from-navigating-to-external-urls/</guid><description>Удерживайте Flutter WebView на своём домене с webview_flutter 4.14.1: разбирайте URL, сравнивайте Uri.host вместо startsWith, передавайте mailto: и tel: в url_launcher и учитывайте, что Android и iOS на самом деле отправляют в onNavigationRequest.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как отключить проверку antiforgery для одной конечной точки формы в minimal API в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/09/how-to-disable-antiforgery-validation-for-a-single-minimal-api-endpoint-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-disable-antiforgery-validation-for-a-single-minimal-api-endpoint-in-aspnetcore-11/</guid><description>Вызовите .DisableAntiforgery() на этой одной конечной точке или на MapGroup. В ASP.NET Core 11 это отключает и middleware токенов, и новую автоматическую проверку CSRF. Измеренная матрица, ловушки приоритета и более узкие альтернативы.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как сохранить отслеживание местоположения во Flutter в фоне на Android 15</title><link>https://startdebugging.net/ru/2026/09/how-to-keep-flutter-location-tracking-running-in-the-background-on-android-15/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-keep-flutter-location-tracking-running-in-the-background-on-android-15/</guid><description>Запускаем трекер местоположения на Flutter, который переживает нажатие кнопки Home, смахивание из списка недавних приложений и перезагрузку на Android 15 и 16: foreground-сервис типа location в собственном движке Flutter, точный набор разрешений и SecurityException, который вы получаете, когда срабатывают правила while-in-use. Проверено с geolocator 14.0.3 и flutter_foreground_task 11.0.3.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>OpenTelemetry .NET 1.19.1 исправляет NotSupportedException для шаблонов с подстановочными знаками на net8.0</title><link>https://startdebugging.net/ru/2026/09/opentelemetry-dotnet-1-19-1-fixes-wildcard-notsupportedexception-on-net-8/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/opentelemetry-dotnet-1-19-1-fixes-wildcard-notsupportedexception-on-net-8/</guid><description>OpenTelemetry 1.19.0 перевёл регулярное выражение для шаблонов источников на RegexOptions.NonBacktracking, и на net8.0 оно выбрасывает исключение, как только зарегистрировано достаточно источников. Версия 1.19.1, вышедшая 2026-09-21, возвращает скомпилированное регулярное выражение с тайм-аутом сопоставления.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Aspire 13.5.4 больше не теряет Kafka producer при каждой проверке health check</title><link>https://startdebugging.net/ru/2026/09/aspire-13-5-4-fixes-kafka-health-check-thread-leak/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/aspire-13-5-4-fixes-kafka-health-check-thread-leak/</guid><description>До Aspire 13.5.4 каждый health check AppHost для ресурса AddKafka создавал новый producer Confluent, который никто не освобождал, поэтому потоки опроса накапливались, а AppHost нагружал CPU. Исправление и ловушка HealthCheckRegistration.Factory, стоящая за ним, касаются и ваших собственных health checks.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить id текущего пользователя в каждую запись журнала в ASP.NET Core</title><link>https://startdebugging.net/ru/2026/09/how-to-add-the-current-user-id-to-every-log-entry-in-aspnet-core/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-add-the-current-user-id-to-every-log-entry-in-aspnet-core/</guid><description>Middleware с BeginScope пропускает запись об ошибке от обработчика исключений и строку Request finished. Зарегистрируйте ILogEnricher, который читает пользователя из IHttpContextAccessor, открывайте scope только тогда, когда работа выходит за пределы запроса, и учтите, что AddSerilog из Serilog молча отключает обогащение.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как атомарно добавить элемент в массив jsonb в PostgreSQL с EF Core и Npgsql</title><link>https://startdebugging.net/ru/2026/09/how-to-atomically-append-to-a-postgresql-jsonb-array-with-ef-core-and-npgsql/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-atomically-append-to-a-postgresql-jsonb-array-with-ef-core-and-npgsql/</guid><description>Загрузка сущности, вызов List.Add и сохранение перезаписывают весь документ jsonb и незаметно теряют параллельные добавления. Перенесите добавление в один UPDATE с оператором jsonb ||, через ExecuteSqlAsync или через сопоставленную функцию внутри ExecuteUpdateAsync, и сделайте его идемпотентным с помощью проверки @&gt;.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать последовательность Oracle для генерации первичных ключей в EF Core</title><link>https://startdebugging.net/ru/2026/09/how-to-use-an-oracle-sequence-to-generate-primary-keys-in-ef-core/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-use-an-oracle-sequence-to-generate-primary-keys-in-ef-core/</guid><description>Привязка ключа EF Core к последовательности Oracle через UseSequence в Oracle.EntityFrameworkCore 10: какой DDL и какой SQL для INSERT на самом деле генерирует провайдер, как сослаться на существующую последовательность или унаследованный триггер, почему на кавычках и HiLo спотыкаются чаще всего и как перевести identity-столбец на последовательность без ORA-00001.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Agent Framework 1.22: AsIChatClient позволяет AIAgent выступить в роли IChatClient</title><link>https://startdebugging.net/ru/2026/09/agent-framework-1-22-asichatclient-exposes-an-agent-as-an-ichatclient/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/agent-framework-1-22-asichatclient-exposes-an-agent-as-an-ichatclient/</guid><description>Microsoft Agent Framework .NET 1.22.0 добавляет AIAgent.AsIChatClient() и замыкает круг, начатый IChatClient.AsAIAgent(). Агент сохраняет инструкции и инструменты и теперь подходит любому API, который принимает IChatClient.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить собственную плюрализацию имён таблиц в dotnet ef dbcontext scaffold через IPluralizer</title><link>https://startdebugging.net/ru/2026/09/how-to-add-custom-pluralization-to-dotnet-ef-dbcontext-scaffold-with-ipluralizer/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-add-custom-pluralization-to-dotnet-ef-dbcontext-scaffold-with-ipluralizer/</guid><description>Таблица с именем Gas превращается в сущность Ga. Замените встроенный плюрализатор Humanizer собственной реализацией IPluralizer, зарегистрируйте её через IDesignTimeServices в стартовом проекте и узнайте, почему TryAddSingleton там молча ничего не делает.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как гарантировать идемпотентную обработку сообщений в EF Core 11, когда одно и то же сообщение получают два экземпляра приложения</title><link>https://startdebugging.net/ru/2026/09/how-to-guarantee-idempotent-message-processing-in-ef-core-11-with-an-inbox-table/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-guarantee-idempotent-message-processing-in-ef-core-11-with-an-inbox-table/</guid><description>Проверка на существование в обработчике не та защита, за которую вы её принимаете. Поставьте уникальный индекс на таблицу inbox, пишите маркер в том же SaveChanges, что и бизнес-изменение, и пусть победителя выбирает база данных. Плюс ловушка с ExecuteUpdate, которая молча сводит всё это на нет.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как согласовать запись в базу данных и загрузку в Azure Blob Storage в рамках одного запроса ASP.NET Core</title><link>https://startdebugging.net/ru/2026/09/how-to-keep-a-database-write-and-an-azure-blob-upload-consistent-in-one-request/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-keep-a-database-write-and-an-azure-blob-upload-consistent-in-one-request/</guid><description>Транзакции, охватывающей SQL Server и Blob Storage, не существует. Загружайте по имени, которое база данных уже знает, фиксируйте вторым шагом, компенсируйте при сбое, а окно после аварии пусть подчищает фоновая уборка. Плюс перегрузка UploadAsync, которая молча превращает условное создание в перезапись.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как задать собственные соглашения об именовании первичных ключей, внешних ключей и индексов в миграциях EF Core 11</title><link>https://startdebugging.net/ru/2026/09/how-to-apply-custom-naming-conventions-for-keys-foreign-keys-and-indexes-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-apply-custom-naming-conventions-for-keys-foreign-keys-and-indexes-in-ef-core-11/</guid><description>Переименуйте все PK_, FK_, AK_ и IX_, которые генерирует EF Core 11, с помощью одного IModelFinalizingConvention, сохраните приоритет явно заданных имён, уложитесь в ограничение длины идентификатора и избегите перестроения кластеризованного индекса, которое следующая миграция сгенерирует для существующей базы данных.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>MessagePack 3.1.9 и 2.5.303 исправляют payload на 32 КиБ, который выделяет 120 МиБ</title><link>https://startdebugging.net/ru/2026/09/messagepack-3-1-9-fixes-nested-array-memory-amplification-cve-2026-92707/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/messagepack-3-1-9-fixes-nested-array-memory-amplification-cve-2026-92707/</guid><description>CVE-2026-92707: заголовки вложенных массивов MessagePack могли переиспользовать одни и те же оставшиеся байты, чтобы пройти проверку длины, поэтому десериализация в object выделяла в тысячи раз больше памяти, чем размер payload. Разбираем исправление, пробу до/после и почему приложениям SignalR на .NET 8-11 RC 1 нужен прямой пин пакета.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Миграция приложения EF Core с Cosmos DB после изменения экранирования генерируемых id в EF Core 11</title><link>https://startdebugging.net/ru/2026/09/migrate-an-ef-core-cosmos-app-after-the-generated-id-escaping-change/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-an-ef-core-cosmos-app-after-the-generated-id-escaping-change/</guid><description>EF Core 11 перестает экранировать &apos;/&apos;, &apos;\&apos;, &apos;?&apos; и &apos;#&apos; в генерируемых значениях id для Cosmos DB, поэтому документы, записанные EF Core 8-10, больше не находятся по ключу. Как понять, затронуты ли вы, когда включать переключатель EscapeIllegalCosmosIdCharacters и как безопасно переписать id с помощью транзакционного пакета.</description><pubDate>Sat, 19 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Миграция Android-проекта Flutter на AGP 9 со встроенным Kotlin</title><link>https://startdebugging.net/ru/2026/09/migrate-a-flutter-android-project-to-agp-9-with-built-in-kotlin/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-a-flutter-android-project-to-agp-9-with-built-in-kotlin/</guid><description>Полный путь от Flutter-приложения на AGP 8, которое применяет kotlin-android, до AGP 9.1 с android.builtInKotlin=true на Flutter 3.47. Каждый шаг я собрал и проверил, включая две правки, которые выглядят необязательными, но таковыми не являются: kotlinOptions вызывает ошибку компиляции при KGP 2.2+, а строку KGP в settings.gradle.kts нужно оставить.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Уходим от describeEnum во Flutter, пока его не удалили</title><link>https://startdebugging.net/ru/2026/09/migrate-off-describeenum-before-flutter-removes-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-off-describeenum-before-flutter-removes-it/</guid><description>describeEnum помечен устаревшим начиная с Flutter 3.16, а PR с его удалением уже одобрен. Как заменить каждый вызов на Enum.name (Flutter 3.47.4, Dart 3.13), что делать с классами, похожими на enum, и с диагностикой, как найти вызовы, спрятанные в зависимостях вроде flutter_svg 1.x, и как выглядит ошибка сборки после удаления.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Polly 8.8 перезагружает resilience-конвейер из вашего собственного IOptionsMonitor</title><link>https://startdebugging.net/ru/2026/09/polly-8-8-reloads-a-resilience-pipeline-from-your-own-ioptionsmonitor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/polly-8-8-reloads-a-resilience-pipeline-from-your-own-ioptionsmonitor/</guid><description>В Polly 8.8.0 появился EnableReloadsWithMonitor, и resilience-конвейер теперь может перезагружаться на лету из feature flag или монитора удалённой конфигурации, не зарегистрированного в DI. Тестовый прогон показывает пересборку, а заодно одну ловушку: context.GetOptions по-прежнему читает монитор из DI и возвращает значения по умолчанию.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как поднять минимальную целевую версию развёртывания macOS-приложения на Flutter до macOS 12 для Xcode 27</title><link>https://startdebugging.net/ru/2026/09/raise-a-flutter-macos-apps-minimum-deployment-target-to-macos-12-for-xcode-27/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/raise-a-flutter-macos-apps-minimum-deployment-target-to-macos-12-for-xcode-27/</guid><description>Xcode 27 отказывается собирать всё, что ниже macOS 12, а Flutter 3.47 поднял собственный минимум с 10.15 до 12.0. Что переписывает автоматическая миграция, три места, которые она молча пропускает (нестандартные значения, переопределения в post_install в Podfile, podspec плагинов), и исправление Podfile для команд, которые пока остаются на Flutter 3.44.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate></item><item><title>CanvasKit или skwasm для Flutter web в 2026 году: какой рендерер выпускать?</title><link>https://startdebugging.net/ru/2026/09/canvaskit-vs-skwasm-for-flutter-web-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/canvaskit-vs-skwasm-for-flutter-web-in-2026/</guid><description>Выпускайте skwasm через flutter build web --wasm, если ваши зависимости компилируются в Wasm: он загружает меньше и на тяжёлой сцене отрисовал на 36% больше кадров, чем CanvasKit. На Flutter 3.47.x оставайтесь в однопоточном режиме, пока исправление падения многопоточного режима на тексте не выйдет из beta.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft.Data.SqlClient vs System.Data.SqlClient в .NET 11</title><link>https://startdebugging.net/ru/2026/09/microsoft-data-sqlclient-vs-system-data-sqlclient-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/microsoft-data-sqlclient-vs-system-data-sqlclient-in-dotnet-11/</guid><description>Используйте Microsoft.Data.SqlClient. System.Data.SqlClient объявлен устаревшим, уже выдаёт CS0618 на каждый тип, к которому вы прикасаетесь, и теряет свои .NET-ассеты, когда .NET 8 достигнет конца поддержки 2026-11-10, в тот же день, когда выходит .NET 11. Измеренный разрыв в возможностях, значение Encrypt по умолчанию, ломающее миграцию, и разделение пакета в 7.0.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>MSTest 4.4.1 исправляет неоднозначные вызовы Assert с CS0121, которые 4.4.0 сломал ниже C# 14</title><link>https://startdebugging.net/ru/2026/09/mstest-4-4-1-fixes-cs0121-ambiguous-assert-calls-below-csharp-14/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/mstest-4-4-1-fixes-cs0121-ambiguous-assert-calls-below-csharp-14/</guid><description>MSTest 4.4.0 добавил перегрузки Span&lt;T&gt; и ReadOnlySpan&lt;T&gt; в Assert.Contains и Assert.DoesNotContain, из-за чего обычные проверки массивов и строк стали падать с CS0121 на net8.0, net9.0 и в любом проекте ниже C# 14. MSTest 4.4.1, опубликованный 2026-09-16, добавляет точные перегрузки для массивов и ограниченные перенаправляющие перегрузки. Две формы вызова с явным обобщённым аргументом по-прежнему не компилируются.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Process.Run vs Process.Start в .NET 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/09/process-run-vs-process-start-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/process-run-vs-process-start-in-dotnet-11/</guid><description>Используйте Process.Run, когда запускаете инструмент и вас интересует только то, как он завершился: один вызов, тайм-аут, который убивает дочерний процесс, и ProcessExitStatus с сигналом. Оставьте Process.Start, когда нужен объект Process: запись в stdin, чтение вывода по мере поступления, UseShellExecute или завершение всего дерева процессов.</description><pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate></item><item><title>JIT в .NET 11 девиртуализирует обобщённые виртуальные методы, и вместе с ними исчезает выделение памяти</title><link>https://startdebugging.net/ru/2026/09/dotnet-11-jit-devirtualizes-generic-virtual-methods/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/dotnet-11-jit-devirtualizes-generic-virtual-methods/</guid><description>В статье Стивена Тоуба Performance Improvements in .NET 11 вызовы обобщённых виртуальных методов падают с 6.7 нс и 24 байт до 1.8 нс и нуля выделений. Три пул-реквеста в RyuJIT открыли инлайнинг для самой непрозрачной диспетчеризации в .NET.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: UIKitThreadAccessException в MediaPicker.PickPhotosAsync при выборе нескольких фотографий в .NET MAUI iOS</title><link>https://startdebugging.net/ru/2026/09/fix-uikitthreadaccessexception-from-mediapicker-pickphotosasync-in-maui-ios/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-uikitthreadaccessexception-from-mediapicker-pickphotosasync-in-maui-ios/</guid><description>Выбор 2 и более фотографий в iOS вызывает UIKitThreadAccessException в MAUI 10.0.100 и 10.0.101. MAUI читает PHPickerResult.ItemProvider после await, вне главного потока. Зафиксируйте 10.0.90, обновитесь до 10.0.110 или вызовите PHPicker сами.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Unexpected failure parsing device information from adb output во Flutter</title><link>https://startdebugging.net/ru/2026/09/fix-unexpected-failure-parsing-device-information-from-adb-output-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-unexpected-failure-parsing-device-information-from-adb-output-in-flutter/</guid><description>Flutter 3.47.0 не может разобрать строки adb с серийным номером из 22 и более символов, поэтому беспроводные и некоторые USB-устройства Android пропадают. Обновитесь до 3.47.1 или новее либо подключайтесь через adb connect по IP.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Уровень совместимости SQL Server 150 или 160: что меняется в запросах EF Core 11</title><link>https://startdebugging.net/ru/2026/09/sql-server-compatibility-level-150-vs-160-what-changes-for-ef-core-11-queries/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/sql-server-compatibility-level-150-vs-160-what-changes-for-ef-core-11-queries/</guid><description>EF Core 11 теперь по умолчанию задаёт для UseSqlServer уровень совместимости 160, из-за чего в ваш SQL попадают LEAST, GREATEST и двухаргументные LTRIM/RTRIM, в том числе в каждом Take(n).FirstOrDefault(). Оставляйте 160 на SQL Server 2022 и новее; закрепите UseCompatibilityLevel(150), если хоть одно окружение ещё работает на SQL Server 2019.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: конечные точки API в ASP.NET Core возвращают 401 вместо перенаправления на страницу входа после обновления до .NET 10</title><link>https://startdebugging.net/ru/2026/09/fix-aspnetcore-api-endpoints-return-401-instead-of-redirecting-to-login-dotnet-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-aspnetcore-api-endpoints-return-401-instead-of-redirecting-to-login-dotnet-10/</guid><description>В .NET 10 аутентификация через cookie отвечает API-подобным конечным точкам кодом 401/403 вместо перенаправления на страницу входа. Верните прежнее поведение для отдельной конечной точки, глобально или с помощью переключателя AppContext.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: flutter doctor --android-licenses пишет &apos;The --licenses option is no longer needed&apos; с cmdline-tools 23</title><link>https://startdebugging.net/ru/2026/09/fix-flutter-doctor-android-licenses-fails-with-cmdline-tools-23/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-flutter-doctor-android-licenses-fails-with-cmdline-tools-23/</guid><description>В cmdline-tools 23.0 убрали sdkmanager --licenses, поэтому Flutter до 3.47.3 сообщает, что статус лицензий неизвестен. Обновите Flutter или закрепите cmdline-tools 22.0.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: EF Core MigrateAsync и CanConnectAsync 60 секунд повторяют попытки при &apos;Login failed for user&apos;</title><link>https://startdebugging.net/ru/2026/09/fix-migrateasync-canconnectasync-keep-retrying-on-login-failed-for-user-ef-core/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-migrateasync-canconnectasync-keep-retrying-on-login-failed-for-user-ef-core/</guid><description>Проверка существования базы в провайдере SQL Server для EF Core повторяет ошибку 18456 целую минуту, с EnableRetryOnFailure или без него. Падайте сразу, ограничьте RetryTimeout или дождитесь EF Core 12.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft.Extensions.AI 10.10 проваливает метрики оценки, которым судья не выставил балл</title><link>https://startdebugging.net/ru/2026/09/microsoft-extensions-ai-10-10-fails-closed-on-unscored-evaluation-metrics/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/microsoft-extensions-ai-10-10-fails-closed-on-unscored-evaluation-metrics/</guid><description>Microsoft.Extensions.AI.Evaluation.Quality 10.10.0 теперь помечает нераспознанные и выходящие за диапазон оценки качества как проваленные, а Microsoft.Extensions.AI.OpenAI 10.10.0 удаляет адаптер Assistants. Измерено до и после на 10.9.0.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Dapper 2.1.86 возвращает DateOnly и TimeOnly спустя два года после их удаления</title><link>https://startdebugging.net/ru/2026/09/dapper-2-1-86-brings-back-dateonly-and-timeonly-support/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/dapper-2-1-86-brings-back-dateonly-and-timeonly-support/</guid><description>Dapper 2.1.86 снова включает встроенное сопоставление DateOnly и TimeOnly для параметров, членов и скалярных значений, с исправленными ошибками смещения столбца и тихого default(T). Что изменилось, что я измерил и что это значит для ваших собственных обработчиков типов.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Could not load file or assembly &apos;Microsoft.Data.SqlClient, Version=7.0.0.0&apos; после обновления EF Core</title><link>https://startdebugging.net/ru/2026/09/fix-could-not-load-file-or-assembly-microsoft-data-sqlclient-version-7-0-0-0/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-could-not-load-file-or-assembly-microsoft-data-sqlclient-version-7-0-0-0/</guid><description>EF Core 11 скомпилирован против Microsoft.Data.SqlClient 7.0.0.0, но при восстановлении пакетов или развёртывании победила копия 6.x. Удалите старую фиксацию версии SqlClient и заново разверните весь вывод сборки.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: InvalidOperationException: Nullable object must have a value в проекции EF Core 11</title><link>https://startdebugging.net/ru/2026/09/fix-nullable-object-must-have-a-value-in-an-ef-core-11-projection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-nullable-object-must-have-a-value-in-an-ef-core-11-projection/</guid><description>EF Core выбрасывает это исключение, когда Select читает SQL NULL в int, decimal или DateTime, не допускающий null. Приведите член к типу, допускающему null, и добавьте ?? default, либо защитите навигацию проверкой на null.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как асинхронно создавать и распаковывать ZIP-файлы с помощью асинхронных API ZipArchive в .NET 11</title><link>https://startdebugging.net/ru/2026/09/how-to-create-and-extract-zip-files-asynchronously-with-ziparchive-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-create-and-extract-zip-files-asynchronously-with-ziparchive-in-dotnet-11/</guid><description>Используйте ZipFile.CreateFromDirectoryAsync, ExtractToDirectoryAsync, ZipArchive.CreateAsync и ZipArchiveEntry.OpenAsync без скрытого синхронного ввода-вывода. Замеры на .NET 11 RC 1 и .NET 10.0.12, включая баг .NET 10, который до сих пор блокирует Kestrel.</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Agent Framework 1.21: LocalCodeAct больше не передает окружение хоста в Python, написанный моделью</title><link>https://startdebugging.net/ru/2026/09/agent-framework-1-21-localcodeact-stops-inheriting-host-environment/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/agent-framework-1-21-localcodeact-stops-inheriting-host-environment/</guid><description>Microsoft Agent Framework .NET 1.21.0 поставляет Microsoft.Agents.AI.LocalCodeAct 1.21.0-preview.260911.1, в котором Python-подпроцесс CodeAct больше не наследует окружение родительского процесса, когда Environment равен null. В 1.20 сгенерированный код мог прочитать любую переменную хоста, включая API-ключи.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как привязать сложный объект из строки запроса с помощью [AsParameters] в minimal API в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/09/how-to-bind-a-complex-query-string-object-with-asparameters-in-a-minimal-api/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-bind-a-complex-query-string-object-with-asparameters-in-a-minimal-api/</guid><description>Поставьте [AsParameters] на класс или record, чтобы привязать целый фильтр из строки запроса в minimal API в ASP.NET Core 11. Разбираем значения по умолчанию, массивы, перечисления, вложенные объекты, валидацию, OpenAPI и ошибку генератора Native AOT с позиционными record.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как включить сжатие и обфускацию R8 для релизной сборки .NET MAUI под Android</title><link>https://startdebugging.net/ru/2026/09/how-to-enable-r8-shrinking-and-obfuscation-for-a-dotnet-maui-android-release-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-enable-r8-shrinking-and-obfuscation-for-a-dotnet-maui-android-release-build/</guid><description>Установите AndroidLinkTool в r8, оставьте тримминг включённым и добавьте файл ProguardConfiguration. Почему .NET 10 и .NET 11 RC 1 всё ещё выпускают необфусцированный Java-код, как это меняет новое свойство AndroidR8ObfuscationMode и как проверить, что R8 действительно запустился.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как перехватить кнопку &quot;Назад&quot; в Android на корневой странице .NET MAUI Shell</title><link>https://startdebugging.net/ru/2026/09/how-to-intercept-the-android-back-button-on-a-dotnet-maui-shell-root-page/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-intercept-the-android-back-button-on-a-dotnet-maui-shell-root-page/</guid><description>Переопределите OnBackButtonPressed на корневой странице и используйте .NET MAUI 10.0.101 или новее. Почему корневые страницы перестали получать нажатия &quot;Назад&quot; начиная с 10.0.70 (Android 16) и 10.0.100 (все версии Android), почему .NET 11 RC 1 всё ещё затронут, почему Shell.OnNavigating и BackButtonBehavior.Command не помогают, и обходной путь через MainActivity для сломанных версий.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 RC 1 делает образы контейнеров из dotnet publish воспроизводимыми</title><link>https://startdebugging.net/ru/2026/09/dotnet-11-rc-1-reproducible-container-images-source-date-epoch/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/dotnet-11-rc-1-reproducible-container-images-source-date-epoch/</guid><description>SDK .NET 11 RC 1 учитывает SOURCE_DATE_EPOCH при публикации образов контейнеров, убирает идентификатор процесса из tar-заголовков слоёв и пропускает загрузку blob-объектов, если манифест уже есть в реестре. Один и тот же коммит на входе, один и тот же digest на выходе.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как экранировать подстановочные символы % и _ в запросах с EF.Functions.Like и StartsWith в EF Core 11</title><link>https://startdebugging.net/ru/2026/09/how-to-escape-wildcards-in-ef-functions-like-and-startswith-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-escape-wildcards-in-ef-functions-like-and-startswith-in-ef-core-11/</guid><description>StartsWith, EndsWith и Contains в EF Core 11 уже сами экранируют % и _, а EF.Functions.Like этого не делает. Разбираем SQL, который генерирует EF, переиспользуемый помощник для экранирования и перегрузку с escapeCharacter, благодаря которой всё работает в SQL Server, SQLite и PostgreSQL.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Нативный столбец json или nvarchar(max) для хранения JSON в SQL Server с EF Core 11</title><link>https://startdebugging.net/ru/2026/09/json-vs-nvarchar-max-for-storing-json-in-sql-server-with-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/json-vs-nvarchar-max-for-storing-json-in-sql-server-with-ef-core-11/</guid><description>Используйте нативный тип json в SQL Server 2025 и Azure SQL: благодаря ему EF Core 11 получает JSON_CONTAINS, типизированный JSON_VALUE, обновление на месте через modify() и JSON-индексы. Оставайтесь на nvarchar(max) для SQL Server 2019/2022, устаревших инструментов или схемы, которую нужно уметь откатить.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Lookup&lt;TKey, TElement&gt; или Dictionary&lt;TKey, List&lt;TValue&gt;&gt; для повторяющихся ключей в C#</title><link>https://startdebugging.net/ru/2026/09/lookup-vs-dictionary-of-lists-for-duplicate-keys-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/lookup-vs-dictionary-of-lists-for-duplicate-keys-in-csharp/</guid><description>Используйте ToLookup, когда группировка строится один раз и дальше только читается: она неизменяема, для отсутствующего ключа возвращает пустую последовательность, принимает ключ null и сохраняет порядок первого появления. Используйте Dictionary&lt;TKey, List&lt;TValue&gt;&gt;, когда группы меняются после создания или проходят через границу JSON.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Юнионы C# в ASP.NET Core 11: тела запросов, SignalR и OpenAPI работают, query string нет</title><link>https://startdebugging.net/ru/2026/09/csharp-unions-in-aspnetcore-11-where-binding-works/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/csharp-unions-in-aspnetcore-11-where-binding-works/</guid><description>Команда ASP.NET Core описала, где типы union из C# 15 работают в .NET 11: тела запросов в minimal API и MVC, JsonHubProtocol в SignalR, Blazor и схемы anyOf в OpenAPI. Привязка из маршрута, query, заголовков и форм пока не поддерживается.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Text во Flutter рисуется за пределами экрана в Android WebView при включённом системном масштабе шрифта</title><link>https://startdebugging.net/ru/2026/09/fix-flutter-text-renders-off-screen-in-an-android-webview-with-font-scaling/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-flutter-text-renders-off-screen-in-an-android-webview-with-font-scaling/</guid><description>Flutter web с 3.41 по 3.44 сообщает о переопределении высоты строки примерно в 625 раз, когда textZoom в Android WebView не равен 100. Обновитесь до 3.47 или сбросьте переопределение в MaterialApp.builder.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Flutter web отдаёт устаревшую закешированную сборку после перезагрузки вкладки браузера</title><link>https://startdebugging.net/ru/2026/09/fix-flutter-web-serves-a-stale-cached-build-after-reload/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-flutter-web-serves-a-stale-cached-build-after-reload/</guid><description>Перезагрузка перепроверяет только index.html, поэтому main.dart.js без хеша в имени продолжает браться из кеша браузера. Отдавайте результат сборки Flutter с Cache-Control: no-cache, проставляйте build id там, где заголовки задать нельзя, и позвольте самоочищающемуся service worker убрать кеши версий до 3.41.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The argument type &apos;TextTheme&apos; can&apos;t be assigned to the parameter type &apos;TextTheme?&apos; с google_fonts</title><link>https://startdebugging.net/ru/2026/09/fix-textheme-cant-be-assigned-to-textheme-google-fonts-material-ui/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-textheme-cant-be-assigned-to-textheme-google-fonts-material-ui/</guid><description>Приложение импортирует material_ui, а google_fonts 8.2.1 по-прежнему возвращает TextTheme из SDK. Пока google_fonts не мигрирует, собирайте TextTheme сами через tear-off GoogleFonts.roboto.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Could not create Dart VM instance в release-сборке Flutter после flutter upgrade</title><link>https://startdebugging.net/ru/2026/09/fix-could-not-create-dart-vm-instance-in-a-flutter-release-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-could-not-create-dart-vm-instance-in-a-flutter-release-build/</guid><description>Release APK собран без libapp.so. Flutter 3.44.0-3.44.4 мог его потерять: обновитесь до 3.44.5 или новее и разделите объединённый блок subprojects.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: IsAuthenticated равно false, а RemoteUserAccount равен null в Blazor WebAssembly после обновления MSAL</title><link>https://startdebugging.net/ru/2026/09/fix-isauthenticated-false-remoteuseraccount-null-blazor-webassembly-msal-upgrade/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-isauthenticated-false-remoteuseraccount-null-blazor-webassembly-msal-upgrade/</guid><description>Microsoft.Authentication.WebAssembly.Msal 10.0.8, 9.0.16 и 8.0.27 перешли на msal.js 4, асинхронный init которого конкурирует сам с собой. Инициализируйте MSAL один раз в Program.cs или закрепите версию 10.0.7.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: PublishAot вместе с EFOptimizeContext исчерпывает память при сборке EF Core</title><link>https://startdebugging.net/ru/2026/09/fix-publishaot-and-efoptimizecontext-exhaust-memory-during-an-ef-core-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-publishaot-and-efoptimizecontext-exhaust-memory-during-an-ef-core-build/</guid><description>Генерация модели EF Core во время сборки снова и снова запускала MSBuild, пока не заканчивалась RAM. Обновите Tasks и Design до 10.0.10+, а в EF Core 11 удалите EFOptimizeContext.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate></item><item><title>SignalR в .NET 11 RC 1 меняет истекающий токен, не разрывая соединение</title><link>https://startdebugging.net/ru/2026/09/signalr-authentication-refresh-finalized-dotnet-11-rc-1/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/signalr-authentication-refresh-finalized-dotnet-11-rc-1/</guid><description>API обновления аутентификации SignalR финализированы в .NET 11 RC 1: переименованные обратные вызовы у HubConnection, клиент на TypeScript и цепи Blazor Server, которые автоматически подхватывают обновлённый ClaimsPrincipal.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 RC 1 позволяет отправить SIGTERM дочернему процессу без P/Invoke</title><link>https://startdebugging.net/ru/2026/09/dotnet-11-rc-1-process-signal-exit-status/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/dotnet-11-rc-1-process-signal-exit-status/</guid><description>Signal, WaitForExitStatus и ProcessExitStatus появились прямо в System.Diagnostics.Process в .NET 11 RC 1, поэтому корректное завершение дочернего процесса больше не требует ни P/Invoke к kill, ни обходного пути через SafeProcessHandle.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: AS JSON option can be specified only for column of nvarchar(max) type in WITH clause</title><link>https://startdebugging.net/ru/2026/09/fix-as-json-option-can-be-specified-only-for-column-of-nvarchar-max-on-azure-sql/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-as-json-option-can-be-specified-only-for-column-of-nvarchar-max-on-azure-sql/</guid><description>EF Core формирует [col] json &apos;$.path&apos; AS JSON внутри OPENJSON WITH, и Azure SQL отклоняет это с ошибкой Msg 13618. Обновитесь до EF Core 10.0.11+ или понизьте уровень совместимости провайдера до 160.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Complex entry original ordinal &apos;-1&apos; is invalid при сохранении комплексной коллекции с ToJson</title><link>https://startdebugging.net/ru/2026/09/fix-complex-entry-original-ordinal-is-invalid-when-saving-a-tojson-complex-collection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-complex-entry-original-ordinal-is-invalid-when-saving-a-tojson-complex-collection/</guid><description>Обновите Microsoft.EntityFrameworkCore до 10.0.10 или новее. До этой версии рост вложенной коллекции внутри второго комплексного свойства с ToJson ломал SaveChanges.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The complex type collection must be initialized to a non-null value</title><link>https://startdebugging.net/ru/2026/09/fix-the-complex-type-collection-must-be-initialized-to-a-non-null-value/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-the-complex-type-collection-must-be-initialized-to-a-non-null-value/</guid><description>В EF Core 10.0.x присвоение null сложному свойству с коллекцией из двух элементов внутри сложной коллекции ToJson ломает DetectChanges. Исправлено в 11.0.0-rc.1.</description><pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: MissingMethodException &apos;AbstractionsStrings.ArgumentIsEmpty&apos; после обновления EF Core Tools</title><link>https://startdebugging.net/ru/2026/09/fix-missingmethodexception-argumentisempty-after-upgrading-ef-core-tools/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/fix-missingmethodexception-argumentisempty-after-upgrading-ef-core-tools/</guid><description>dotnet ef бросает MissingMethodException на ArgumentIsEmpty, потому что Tools 10.0.6 перестал подтягивать совместимый Microsoft.EntityFrameworkCore.Design. Зафиксируйте Design на своей версии EF Core.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как запустить dart fix по всему репозиторию, чтобы применить миграции ломающих изменений Flutter</title><link>https://startdebugging.net/ru/2026/09/how-to-run-dart-fix-across-a-whole-repo-to-apply-flutter-migrations/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-run-dart-fix-across-a-whole-repo-to-apply-flutter-migrations/</guid><description>dart fix принимает один целевой каталог, и этим каталогом может быть корень репозитория: анализатор открывает по контексту на каждый вложенный pubspec.yaml и мигрирует все пакеты за один проход. Здесь полный набор флагов, четыре вещи, которые молча подавляют исправления и заставляют грязный репозиторий сообщать Nothing to fix, почему код возврата бесполезен в CI, и случай, когда трансформация Flutter выдаёт код, который не компилируется.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как запретить ImageIcon окрашивать иконку цветом окружающего IconTheme во Flutter</title><link>https://startdebugging.net/ru/2026/09/how-to-stop-imageicon-from-tinting-an-icon-with-the-icontheme-color-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-stop-imageicon-from-tinting-an-icon-with-the-icontheme-color-in-flutter/</guid><description>ImageIcon превращает многоцветный PNG в плоский силуэт, потому что всегда применяет ColorFilter.mode(iconThemeColor, BlendMode.srcIn). Во Flutter 3.47 появился флаг useOriginalColors, который это отключает. Разбираем, почему color: null никогда не работал, что useOriginalColors молча отбрасывает и чем заменить виджет на старых SDK.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Rider 2026.3 EAP: dotCover наконец измеряет покрытие TUnit</title><link>https://startdebugging.net/ru/2026/09/rider-2026-3-eap-dotcover-measures-tunit-coverage/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/rider-2026-3-eap-dotcover-measures-tunit-coverage/</guid><description>Early Access Program для Rider 2026.3 открылась 7 сентября 2026 года. Под разноцветными скобками спрятана строка, которая действительно меняет сборку: dotCover теперь показывает покрытие для тестов TUnit при наличии Microsoft.Testing.Platform 2.3.0 и одной ссылки на пакет.</description><pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code теперь называет вероятную причину промаха кеша промпта</title><link>https://startdebugging.net/ru/2026/09/claude-code-now-names-the-likely-cause-of-a-prompt-cache-miss/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/claude-code-now-names-the-likely-cause-of-a-prompt-cache-miss/</guid><description>Claude Code 2.1.260 добавляет диагностику вероятной причины в строку Prompt cache (main) команды /usage и в объект prompt_cache строки состояния. Вместо простого подсчета промахов он сообщает, изменился ли набор инструментов, изменился ли системный промпт или истек TTL.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как прочитать ответ ProblemDetails по RFC 9457 из типизированного HttpClient, не ссылаясь на ASP.NET Core</title><link>https://startdebugging.net/ru/2026/09/how-to-consume-an-rfc-9457-problemdetails-response-from-a-typed-httpclient/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-consume-an-rfc-9457-problemdetails-response-from-a-typed-httpclient/</guid><description>В BCL нет типа ProblemDetails, а добавление FrameworkReference на Microsoft.AspNetCore.App приводит к тому, что клиент отказывается запускаться в контейнере, где есть только среда выполнения. Вот модель на 20 строк, DelegatingHandler, который превращает problem+json в типизированное исключение, и миф про content-type, который до сих пор повторяет большинство ответов.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как найти обработчики async void, вызывающие ANR в Android-приложении на .NET MAUI</title><link>https://startdebugging.net/ru/2026/09/how-to-find-the-async-void-handlers-causing-anrs-in-a-dotnet-maui-android-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-find-the-async-void-handlers-causing-anrs-in-a-dotnet-maui-android-app/</guid><description>Play Console сообщает, что доля ANR превысила 0.47%, и выдаёт нативную трассировку, забитую кадрами libcoreclr.so. Разбираем, как перейти от этой бесполезной трассировки к конкретному обработчику события async void, заблокировавшему главный поток: printer для Looper, обёртка SynchronizationContext, называющая машину состояний, и dotnet-trace через dsrouter.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как сохранить значение appFlavor после hot restart при использовании flutter attach</title><link>https://startdebugging.net/ru/2026/09/how-to-keep-appflavor-populated-after-a-hot-restart-with-flutter-attach/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-keep-appflavor-populated-after-a-hot-restart-with-flutter-attach/</guid><description>У flutter attach нет опции --flavor, поэтому запускаемый им резидентный компилятор никогда не определяет FLUTTER_APP_FLAVOR, и константа appFlavor становится null при первом hot restart. Три решения: default-flavor в pubspec.yaml, flutter run --use-application-binary и канал платформы, читающий flavor нативно. Проверено на Flutter 3.47.2 / Dart 3.13.2.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Copilot Code Review теперь может одобрять pull request&apos;ы</title><link>https://startdebugging.net/ru/2026/09/copilot-code-review-can-now-approve-pull-requests/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/copilot-code-review-can-now-approve-pull-requests/</guid><description>Changelog GitHub от 2026-09-01 разрешает Copilot отправлять одобряющее ревью, которое удовлетворяет правилу обязательных одобрений в репозитории. По умолчанию выключено, ограничивается glob-масками файлов и сбрасывается при новых коммитах. Разбираем, что реально меняется в защите веток.</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как определить нажатие Backspace в пустом TextField во Flutter при вводе OTP</title><link>https://startdebugging.net/ru/2026/09/how-to-detect-a-backspace-press-on-an-empty-flutter-textfield-in-an-otp-input/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-detect-a-backspace-press-on-an-empty-flutter-textfield-in-an-otp-input/</guid><description>onChanged не срабатывает, потому что никакого редактирования не происходит, а на iOS метод deleteBackward в движке просто возвращается, ничего не тронув, если поле пустое. Два подхода, которые действительно работают на всех платформах: сторожевой символ нулевой ширины, гарантирующий редактирование, и один EditableText за отрисованными ячейками. Проверено на Flutter 3.47.2 / Dart 3.13.2.</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать пессимистичную блокировку с UPDLOCK и SELECT ... FOR UPDATE в EF Core 11</title><link>https://startdebugging.net/ru/2026/09/how-to-use-pessimistic-locking-with-updlock-and-select-for-update-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-use-pessimistic-locking-with-updlock-and-select-for-update-in-ef-core-11/</guid><description>В EF Core 11 по-прежнему нет API блокировок. Разбираем, как взять настоящую блокировку строки через FromSql: WITH (UPDLOCK, ROWLOCK) в SQL Server, FOR UPDATE в PostgreSQL, ловушка с подзапросом, которая молча расширяет блокировку, NOWAIT и SKIP LOCKED, повторы при дедлоках и что делать, когда строки ещё нет.</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Как написать value converter в EF Core 11, который преобразует null из базы данных в ненулевое значение в коде</title><link>https://startdebugging.net/ru/2026/09/how-to-write-an-ef-core-11-value-converter-that-maps-null-to-a-non-null-value/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/how-to-write-an-ef-core-11-value-converter-that-maps-null-to-a-non-null-value/</guid><description>По умолчанию EF Core никогда не передаёт null в value converter. Разбираем внутренний конструктор convertsNulls, который это меняет, вызов IsRequired(false), от которого он зависит, почему он не работает с enum и другими типами значений, ловушку WHERE col = NULL, которую он создаёт, и два подхода, решающие задачу без внутреннего API.</description><pubDate>Sun, 06 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.261 добавляет /skill-doctor: находим skills, которые только тратят контекст</title><link>https://startdebugging.net/ru/2026/09/claude-code-2-1-261-skill-doctor-finds-skills-that-only-cost-context/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/claude-code-2-1-261-skill-doctor-finds-skills-that-only-cost-context/</guid><description>Тело skill загружается по требованию, а её имя и описание лежат в списке, который всегда находится в промпте и ограничен 1% окна контекста. Claude Code 2.1.261 добавляет /skill-doctor: отчёт показывает, какие загруженные skills не используются и во что обходится каждая, чтобы убрать их прежде, чем бюджет начнёт вытеснять те, которыми вы действительно пользуетесь.</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>ref.watch и ref.read в Riverpod: в чём разница и когда что использовать</title><link>https://startdebugging.net/ru/2026/09/ref-watch-vs-ref-read-in-flutter-riverpod/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/ref-watch-vs-ref-read-in-flutter-riverpod/</guid><description>ref.watch подписывается и перестраивает, ref.read читает один раз и никогда не перестраивает. Используйте watch в каждом методе build, а read только внутри обработчиков событий. Здесь матрица выбора, исходный код обоих методов во flutter_riverpod 3.4.3 и четыре тихих отказа: watch в обработчике, read в теле провайдера, read у провайдера autoDispose и read в роли оптимизации.</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Что такое режим рендеринга в Blazor и какой из них выполняет мой компонент?</title><link>https://startdebugging.net/ru/2026/09/what-is-a-blazor-render-mode-and-which-one-runs-my-component/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/what-is-a-blazor-render-mode-and-which-one-runs-my-component/</guid><description>Режим рендеринга определяет, где выполняется компонент Razor и является ли он интерактивным. Здесь разобраны четыре режима в .NET 11, правила наследования, определяющие, что получит ваш компонент, и свойства RendererInfo и AssignedRenderMode, которые во время выполнения показывают, какой режим победил.</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Что такое перехватчик EF Core и когда он нужен?</title><link>https://startdebugging.net/ru/2026/09/what-is-an-ef-core-interceptor-and-when-do-i-need-one/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/what-is-an-ef-core-interceptor-and-when-do-i-need-one/</guid><description>Перехватчик EF Core - это класс, который EF вызывает до и после операций вроде выполнения команды или SaveChanges и который может изменить или подавить их, а не только наблюдать. Здесь разобраны семь точек перехвата в EF Core 11, правила регистрации и времени жизни, а также случаи, когда фильтр запроса или обычное журналирование подходят лучше.</description><pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Переводим приложение .NET MAUI для Android на целевой уровень API 36</title><link>https://startdebugging.net/ru/2026/09/migrate-a-dotnet-maui-android-app-to-target-android-api-level-36/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-a-dotnet-maui-android-app-to-target-android-api-level-36/</guid><description>Google Play требует целевой уровень API 36 с 2026-08-31, продления действуют до 2026-11-01. Полный путь .NET MAUI от net9.0-android до API 36: смена target framework, жёстко прописанный uses-sdk, который молча удерживает старый уровень, режим edge-to-edge без возможности отказа, предиктивный жест назад и правила для больших экранов.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>MSTest 4.4 выводит генератор исходного кода для рефлексии из эксперимента, а проекты Native AOT получают его автоматически</title><link>https://startdebugging.net/ru/2026/09/mstest-4-4-native-aot-source-generation/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/mstest-4-4-native-aot-source-generation/</guid><description>MSTest 4.4 убирает у MSTest.SourceGeneration статус экспериментального и привязывает его к версии MSTest. Тестовые проекты Native AOT подключают его без opt-in, режим ReflectionFree теперь может пропускать обнаружение во время выполнения для простых [TestMethod] и [DataRow], а пять диагностик AOTSG показывают, какие формы тестов не пройдут.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Что такое Key во Flutter и когда его отсутствие приводит к багам?</title><link>https://startdebugging.net/ru/2026/09/what-is-a-flutter-key-and-when-does-omitting-it-cause-bugs/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/what-is-a-flutter-key-and-when-does-omitting-it-cause-bugs/</guid><description>Key это половина идентичности в Widget.canUpdate, единственной строке фреймворка, которая решает, будет ли Element вместе со своим State переиспользован или выброшен. Что это значит на практике, какие изменения списка портят состояние без ключей, какой тип ключа выбрать и где ключ должен стоять, чтобы работать.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Что такое флаг W^X в .NET и нужен ли он Native AOT?</title><link>https://startdebugging.net/ru/2026/09/what-is-the-w-xor-x-flag-in-dotnet-and-does-native-aot-need-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/what-is-the-w-xor-x-flag-in-dotnet-and-does-native-aot-need-it/</guid><description>W^X (write xor execute) - правило, по которому ни одна страница памяти не бывает одновременно записываемой и исполняемой. В .NET это переключатель DOTNET_EnableWriteXorExecute, включённый по умолчанию с .NET 7, и существует он исключительно ради JIT. Native AOT его никогда не читает. Разбираем, как среда выполнения его реализует, во что он обходится и когда его отключение - законное решение.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.259 добавляет managedMcpServers: раздача MCP-серверов без MDM</title><link>https://startdebugging.net/ru/2026/09/claude-code-2-1-259-managed-mcp-servers-without-mdm/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/claude-code-2-1-259-managed-mcp-servers-without-mdm/</guid><description>До сих пор единственным способом выдать всем разработчикам одни и те же MCP-серверы был managed-mcp.json, файл в системном пути, который забирает исключительный контроль над MCP. Claude Code 2.1.259 добавляет настройку managedMcpServers для HTTP- и SSE-серверов и попутно сужает область действия allowedMcpServers.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Перевод Android-приложения на .NET MAUI с Mono на CoreCLR в .NET 11</title><link>https://startdebugging.net/ru/2026/09/migrate-a-dotnet-maui-android-app-from-mono-to-coreclr-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-a-dotnet-maui-android-app-from-mono-to-coreclr-in-dotnet-11/</guid><description>Пошаговый перевод .NET MAUI под Android с Mono на CoreCLR: нижняя граница API 24, свойства MSBuild из мира Mono, которые теперь ломают сборку, почему вырос APK, как профилировать регрессию запуска через dotnet-dsrouter и dotnet-trace, и как на самом деле выглядит откат теперь, когда путь Mono исчез.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Миграция веб-приложения на Flutter с dart:html на package:web и dart:js_interop</title><link>https://startdebugging.net/ru/2026/09/migrate-a-flutter-web-app-from-dart-html-to-package-web/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-a-flutter-web-app-from-dart-html-to-package-web/</guid><description>Пошаговая миграция с устаревших dart:html, dart:js_util и package:js на package:web 1.1.1 и dart:js_interop: как найти каждый проблемный импорт с помощью компилятора dart2wasm, что переименовывает dart fix, а что нет, ловушки JSImmutableListWrapper и innerHTML, и как проверить результат через flutter build web --wasm.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Перенос импортов Material и Cupertino во Flutter на пакеты material_ui и cupertino_ui</title><link>https://startdebugging.net/ru/2026/09/migrate-flutter-material-and-cupertino-imports-to-standalone-packages/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-flutter-material-and-cupertino-imports-to-standalone-packages/</guid><description>Полная миграция с package:flutter/material.dart и package:flutter/cupertino.dart на material_ui 1.1.1 и cupertino_ui 1.0.2: что перезаписывает dart fix --code=migrate_design_widgets, почему виджеты сторонних пакетов начинают падать на поиске предка, что на самом деле исправляет MaterialUiCompatibilityBridge и как меняется зависимость от flutter_localizations.</description><pubDate>Thu, 03 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с VSTest на Microsoft.Testing.Platform в SDK .NET 11</title><link>https://startdebugging.net/ru/2026/09/migrate-from-vstest-to-microsoft-testing-platform-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-from-vstest-to-microsoft-testing-platform-in-dotnet-11/</guid><description>Пошаговая миграция с VSTest на Microsoft.Testing.Platform 2.3.3: подключение через OutputType Exe, переключение runner в global.json, логгеры, ставшие репортерами, замена .runsettings на testconfig.json и коды выхода, которые делают зелёную задачу CI красной.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Уход от BinaryFormatter после его удаления в современном .NET</title><link>https://startdebugging.net/ru/2026/09/migrate-off-binaryformatter-after-its-removal-in-modern-dotnet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-off-binaryformatter-after-its-removal-in-modern-dotnet/</guid><description>Реализация BinaryFormatter была удалена в .NET 9 и по-прежнему выбрасывает PlatformNotSupportedException в .NET 10 и .NET 11: как выбрать сериализатор на замену, читать уже сохранённые NRBF-блобы через NrbfDecoder и что ломается в WinForms, WPF и ResX.</description><pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Framework-dependent vs self-contained vs Native AOT для контейнерного образа .NET 11</title><link>https://startdebugging.net/ru/2026/09/framework-dependent-vs-self-contained-vs-native-aot-for-a-dotnet-11-container-image/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/framework-dependent-vs-self-contained-vs-native-aot-for-a-dotnet-11-container-image/</guid><description>Framework-dependent на chiseled-образе aspnet - правильный вариант по умолчанию для сервиса ASP.NET Core на .NET 11, потому что слой среды выполнения общий для всех сервисов, а CVE в среде выполнения закрывается сменой базового образа. Self-contained с trimming и Native AOT дают образ в 2-5 раз меньше и заметно более быстрый холодный старт, и стоят вам именно этого. Реальные опубликованные размеры, арифметика общих слоёв и ошибка вывода базового образа в .NET 11, ломающая путь AOT.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Миграция тестового проекта с xUnit v2 на xUnit v3 (с 2.9.3 на 4.0.0)</title><link>https://startdebugging.net/ru/2026/09/migrate-a-test-project-from-xunit-v2-to-xunit-v3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/migrate-a-test-project-from-xunit-v2-to-xunit-v3/</guid><description>Пошаговая миграция с xunit 2.9.3 на xunit.v3 4.0.0: замена пакетов, перевод OutputType в Exe, IAsyncLifetime с возвратом ValueTask, удаление Xunit.Abstractions и синтаксис фильтров в CI, который молча перестаёт совпадать.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Возврат Task напрямую против проброса через async/await в методе репозитория на C#: что выбрать?</title><link>https://startdebugging.net/ru/2026/09/return-task-directly-vs-async-await-passthrough-in-a-csharp-repository-method/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/return-task-directly-vs-async-await-passthrough-in-a-csharp-repository-method/</guid><description>Отказ от async/await в пробрасывающем методе репозитория экономит около 6 нс и 72 байта, а стоит вам кадра стека, семантики try/catch и безопасного освобождения ресурсов. Оставляйте return await, если метод не является чистым пробросом на измеренном горячем пути.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate></item><item><title>В VS Code 1.135 появилась команда /rubber-duck, и она намеренно использует другую модель</title><link>https://startdebugging.net/ru/2026/09/vscode-1-135-rubber-duck-cross-model-review/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/09/vscode-1-135-rubber-duck-cross-model-review/</guid><description>Экспериментальная команда /rubber-duck в VS Code 1.135 передает план, код и тесты агента на проверку модели из другого семейства. GPT-5.4 критикует Claude, и выбор между семействами здесь и есть главное.</description><pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate></item><item><title>AutoMapper против Mapperly и написанного вручную маппинга в 2026 году</title><link>https://startdebugging.net/ru/2026/08/automapper-vs-mapperly-vs-hand-written-mapping-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/automapper-vs-mapperly-vs-hand-written-mapping-in-2026/</guid><description>Mapperly - выбор по умолчанию для нового кода .NET: он не уступает по скорости ручному маппингу, переживает Native AOT и находит незамапленные члены во время компиляции. AutoMapper по-прежнему выигрывает в ProjectTo. С бенчмарками и лицензионными порогами.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Copilot Code Review переходит на уровень Balanced 28 сентября</title><link>https://startdebugging.net/ru/2026/08/copilot-code-review-defaults-to-balanced-on-september-28/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/copilot-code-review-defaults-to-balanced-on-september-28/</guid><description>Записи в changelog GitHub от 27 и 28 августа 2026 года снимают ограничение в 20 000 строк на ревью, включают проверку PR, созданных ботами, и 28 сентября меняют уровень усилий по умолчанию с Lite на Balanced. Все три изменения увеличивают расход AI-кредитов в один и тот же месяц.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Fix: вход через Firebase Auth не сохраняется в release-сборке Flutter для Android</title><link>https://startdebugging.net/ru/2026/08/fix-firebase-auth-sign-in-does-not-persist-in-a-flutter-android-release-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-firebase-auth-sign-in-does-not-persist-in-a-flutter-android-release-build/</guid><description>Firebase Auth восстанавливает сессию на Android из приватного файла SharedPreferences без единого сетевого запроса, поэтому выход из аккаунта только в release никогда не является поломкой персистентности. Причина в другом google-services.json, отклонённом обновлении токена, App Check или вашем собственном блоке catch.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: The method &apos;getInvocation&apos; isn&apos;t defined for the type &apos;DartObjectImpl&apos;</title><link>https://startdebugging.net/ru/2026/08/fix-the-method-getinvocation-isnt-defined-for-the-type-dartobjectimpl/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-the-method-getinvocation-isnt-defined-for-the-type-dartobjectimpl/</guid><description>build_runner не компилируется, потому что source_gen 3.1.0 или 4.0.0 вызывает API analyzer, удалённый в analyzer 8.4.0. Обновите генератор, который держит source_gen ниже 4.0.1.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate></item><item><title>PreModelSwitch: Claude Code теперь может наложить вето на смену модели</title><link>https://startdebugging.net/ru/2026/08/claude-code-premodelswitch-hook-gates-model-changes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/claude-code-premodelswitch-hook-gates-model-changes/</guid><description>В Claude Code 2.1.251 появились события хуков PreModelSwitch и PostModelSwitch. Matcher срабатывает по каноническому имени модели, на которую вы переключаетесь, а код выхода 2 отменяет переключение.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Fix: 23505: duplicate key value violates unique constraint при конкурентной вставке в EF Core</title><link>https://startdebugging.net/ru/2026/08/fix-23505-duplicate-key-value-violates-unique-constraint-on-a-concurrent-ef-core-insert/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-23505-duplicate-key-value-violates-unique-constraint-on-a-concurrent-ef-core-insert/</guid><description>Проверка-затем-вставка в вашем обработчике не атомарна. Перехватывайте PostgresException с SqlState 23505 или сверните всё в одну инструкцию INSERT ... ON CONFLICT. EnableRetryOnFailure не поможет.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: CREATE DATABASE permission denied in database &apos;master&apos; при запуске dotnet ef database update</title><link>https://startdebugging.net/ru/2026/08/fix-create-database-permission-denied-in-database-master-dotnet-ef-database-update/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-create-database-permission-denied-in-database-master-dotnet-ef-database-update/</guid><description>Migrate() в EF Core всегда проверяет наличие базы данных и создаёт её через жёстко зашитое подключение к master. Выдайте CREATE ANY DATABASE, почините доступ логина к существующей базе или выпускайте идемпотентный SQL-скрипт.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Model building is not supported when publishing with NativeAOT в сборке .NET MAUI для iOS</title><link>https://startdebugging.net/ru/2026/08/fix-model-building-is-not-supported-when-publishing-with-nativeaot-in-maui-ios/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-model-building-is-not-supported-when-publishing-with-nativeaot-in-maui-ios/</guid><description>Сборки для iOS выставляют DynamicCodeSupport=false, поэтому EF Core отказывается строить модель, даже если вы никогда не включали NativeAOT. Поставляйте скомпилированную модель и предкомпилированные запросы либо снова включите интерпретатор.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.251 закрывает четыре способа обойти проверку разрешений</title><link>https://startdebugging.net/ru/2026/08/claude-code-2-1-251-four-ways-around-the-permission-check/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/claude-code-2-1-251-four-ways-around-the-permission-check/</guid><description>Symlink, подменённый после проверки, правила deny, переставшие действовать через путь поиска с symlink, команда маркетплейса, указывающая за пределы своего плагина, и скрипт workflow, прочитанный до одобрения. Четыре исправления в одном релизе — и все это один и тот же баг.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Fix: CA1070 &quot;Do not declare event fields as virtual&quot;</title><link>https://startdebugging.net/ru/2026/08/fix-ca1070-do-not-declare-event-fields-as-virtual/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-ca1070-do-not-declare-event-fields-as-virtual/</guid><description>CA1070 срабатывает на полеподобных событиях с модификатором virtual. Уберите virtual, оставьте событие невиртуальным и дайте наследникам метод protected virtual OnXxx.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Fix: Doesn&apos;t support required ABI при установке приложения .NET MAUI для Android</title><link>https://startdebugging.net/ru/2026/08/fix-doesnt-support-required-abi-when-installing-a-dotnet-maui-android-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-doesnt-support-required-abi-when-installing-a-dotnet-maui-android-app/</guid><description>В APK нет нативной библиотеки под процессор устройства. Начиная с .NET 9 значения RuntimeIdentifiers для Android по умолчанию только 64-битные, поэтому решение состоит в том, чтобы задать RuntimeIdentifiers явно. Разбираются ADB0020, XA0036, NETSDK1083, соответствие ABI и RID, формулировка в Play Console и почему фрагмент с четырьмя RID, который все копируют, ломается на .NET 11.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: failed to resolve source metadata for mcr.microsoft.com/dotnet/aspnet</title><link>https://startdebugging.net/ru/2026/08/fix-failed-to-resolve-source-metadata-for-mcr-microsoft-com-dotnet-aspnet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-failed-to-resolve-source-metadata-for-mcr-microsoft-com-dotnet-aspnet/</guid><description>BuildKit не может прочитать манифест базового образа. Проверьте существование тега, почините credential helper Docker, откройте обе конечные точки MCR и заранее скачайте образы для офлайн-сборок.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>В чем разница между isolate в Dart и потоком?</title><link>https://startdebugging.net/ru/2026/08/what-is-the-difference-between-a-dart-isolate-and-a-thread/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/what-is-the-difference-between-a-dart-isolate-and-a-thread/</guid><description>Поток разделяет память со всеми остальными потоками процесса. Isolate в Dart не разделяет: у него собственная куча, один цикл событий, а с другими isolate он общается только сообщениями. Разбираем, что это значит на уровне VM, где isolate groups размывают границу и как все это проявляется во Flutter, FFI и вебе.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Aspire 13.5 добавляет полноценный терминал прямо в дашборд</title><link>https://startdebugging.net/ru/2026/08/aspire-13-5-withterminal-interactive-shells-in-the-dashboard/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/aspire-13-5-withterminal-interactive-shells-in-the-dashboard/</guid><description>WithTerminal() даёт ресурсу интерактивную PTY-сессию, в которую можно печатать из дашборда или подключиться из собственной оболочки. Она экспериментальная, отцепляет отладчик, а опции Shell, под которую вы могли писать код, больше нет.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Перевод решения .NET на Central Package Management с Directory.Packages.props</title><link>https://startdebugging.net/ru/2026/08/migrate-a-dotnet-solution-to-central-package-management-with-directory-packages-props/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/migrate-a-dotnet-solution-to-central-package-management-with-directory-packages-props/</guid><description>Перенесите все версии пакетов из файлов csproj в один Directory.Packages.props. Разбираем скрипт-генератор, который сводит конфликтующие версии с настоящей semver-сортировкой, diff графа зависимостей до и после, доказывающий, что именно изменилось, NU1008/NU1010/NU1013/NU1507, транзитивное закрепление, GlobalPackageReference, VersionOverride и почему вложенный Directory.Packages.props незаметно перекрывает корневой.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как отрендерить заголовок, уровень которого (h1-h6) выбирается во время выполнения, в компоненте Blazor</title><link>https://startdebugging.net/ru/2026/08/how-to-render-a-heading-with-a-runtime-chosen-level-in-blazor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-render-a-heading-with-a-runtime-chosen-level-in-blazor/</guid><description>В Razor нет синтаксиса для переменного имени тега, а DynamicComponent рендерит только типы компонентов. Переопределите BuildRenderTree и вызовите builder.OpenElement(0, $&quot;h{level}&quot;). Разбираются проброс атрибутов, почему имя тега нужно ограничивать до того, как оно попадёт в DOM, почему смена уровня вырывает элемент из DOM даже с @key, и вариант с автоматическим уровнем на каскадном значении.</description><pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как протестировать Flutter-виджет в фиксированный момент времени без замыкания withClock</title><link>https://startdebugging.net/ru/2026/08/how-to-test-a-flutter-widget-at-a-fixed-point-in-time/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-test-a-flutter-widget-at-a-fixed-point-in-time/</guid><description>Внутри testWidgets внешний clock из package:clock уже поддельный, но начинается с системного времени запуска теста. Зафиксируйте его для всего набора тестов, переопределив runTest в собственном AutomatedTestWidgetsFlutterBinding, который устанавливается из flutter_test_config.dart. Проверено на Flutter 3.44.2, clock 1.1.2, fake_async 1.3.3.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate></item><item><title>.NET MAUI 10.0.100 добавляет UsePlatformHandler для собственных бэкендов BlazorWebView</title><link>https://startdebugging.net/ru/2026/08/maui-10-0-100-useplatformhandler-custom-blazorwebview-backends/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/maui-10-0-100-useplatformhandler-custom-blazorwebview-backends/</guid><description>В MAUI 10.0.100 появился MauiBlazorWebViewBuilderExtensions.UsePlatformHandler, поддерживаемая точка расширения для замены BlazorWebViewHandler без повторной реализации всего, что регистрирует AddMauiBlazorWebView(). Две перегрузки и одна ловушка с порядком вызовов.</description><pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.238 позволяет маркетплейсу плагинов выпускать собственные заголовки аутентификации</title><link>https://startdebugging.net/ru/2026/08/claude-code-2-1-238-marketplaces-mint-their-own-auth-headers/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/claude-code-2-1-238-marketplaces-mint-their-own-auth-headers/</guid><description>Поле headersHelper у маркетплейсов типа url и у записей каталога запускает локальную команду, печатающую HTTP-заголовки, поэтому внутренний каталог плагинов за S3 или репозиторием артефактов может аутентифицироваться коротким токеном. Здесь схема, запрос согласия и имена заголовков, которые Claude Code отбрасывает.</description><pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как понять, что IEnumerable&lt;T&gt; в C# уже материализован</title><link>https://startdebugging.net/ru/2026/08/how-to-tell-whether-an-ienumerable-has-already-been-materialized-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-tell-whether-an-ienumerable-has-already-been-materialized-in-csharp/</guid><description>У IEnumerable&lt;T&gt; нет флага HasBeenEnumerated. Разбираем, что на самом деле проверяет TryGetNonEnumeratedCount, почему Enumerable.Range проходит проверку на ICollection&lt;T&gt; и какая проверка спасает от лишнего ToList().</description><pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как писать переиспользуемые предикаты LINQ, которые EF Core транслирует в Where, Select и OrderBy</title><link>https://startdebugging.net/ru/2026/08/how-to-write-reusable-linq-predicates-ef-core-can-translate/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-write-reusable-linq-predicates-ef-core-can-translate/</guid><description>Вспомогательный метод, возвращающий bool, бросает &quot;could not be translated&quot;. Expression&lt;Func&lt;T, bool&gt;&gt; не бросает. Разбираем, как компоновать, вкладывать и переиспользовать деревья выражений в EF Core 11 без LINQKit, с реальным SQL для каждого случая.</description><pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как написать статический член расширения, применимый ко всем типам enum в C# 14</title><link>https://startdebugging.net/ru/2026/08/how-to-write-a-static-extension-member-for-every-enum-type-in-csharp-14/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-write-a-static-extension-member-for-every-enum-type-in-csharp-14/</guid><description>Объявите обобщённый блок extension с ограничением struct, Enum и получите Status.Values, Status.Count и Status.Parse для каждого enum в решении. Форма получателя, ловушки CS0704 и CS0428 и почему Enum.GetValues нужно кешировать.</description><pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: A restricted method in java.lang.System has been called в сборке Gradle для Flutter</title><link>https://startdebugging.net/ru/2026/08/fix-a-restricted-method-in-java-lang-system-has-been-called-in-a-flutter-gradle-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-a-restricted-method-in-java-lang-system-has-been-called-in-a-flutter-gradle-build/</guid><description>Предупреждение JEP 472 на JDK 24+ безобидно и выводится один раз. Решение состоит в согласовании JDK с версией Gradle, а не во вставке флагов в gradle.properties.</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: [firebase_messaging/apns-token-not-set] APNS token has not been set во Flutter на iOS</title><link>https://startdebugging.net/ru/2026/08/fix-firebase-messaging-apns-token-not-set-on-flutter-ios/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-firebase-messaging-apns-token-not-set-on-flutter-ios/</guid><description>getToken() выполняется до того, как APNs передаёт токен устройства в iOS. Опрашивайте getAPNSToken(), пока он не вернёт значение, отличное от null, и только затем вызывайте getToken().</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: интерфейс Flutter перекрывается системной панелью навигации Android после перехода на SDK 35</title><link>https://startdebugging.net/ru/2026/08/fix-flutter-ui-overlaps-the-android-navigation-bar-after-targeting-sdk-35/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-flutter-ui-overlaps-the-android-navigation-bar-after-targeting-sdk-35/</guid><description>Переход на Android SDK 35 переводит приложение Flutter в режим edge-to-edge, поэтому тело Scaffold отрисовывается за панелью навигации. Обрабатывайте отступы через SafeArea и padding из MediaQuery вместо отказа от режима, потому что в Android 16 такой отказ уже не работает.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Toolchain installation does not provide the required capabilities: [JAVA_COMPILER]</title><link>https://startdebugging.net/ru/2026/08/fix-toolchain-installation-does-not-provide-the-required-capabilities-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-toolchain-installation-does-not-provide-the-required-capabilities-in-flutter/</guid><description>Gradle компилирует с помощью JRE. Он не ищет по всей машине, а использует ровно ту JVM, с которой был запущен. Укажите в flutter config --jdk-dir настоящий JDK или уберите org.gradle.java.home.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Flutter 3.47.1 не даёт транзитивному пакету внедрить нативный код в ваше приложение</title><link>https://startdebugging.net/ru/2026/08/flutter-3-47-1-blocks-plugin-registrant-code-injection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/flutter-3-47-1-blocks-plugin-registrant-code-injection/</guid><description>Хотфикс 3.47.1 проверяет идентификаторы классов и пакетов плагинов до того, как они попадут в GeneratedPluginRegistrant. Разбираем закрытую дыру, регулярное выражение, которое её закрывает, и остальные 11 исправлений релиза.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core перестаёт превращать 413 в 500 в UseExceptionHandler</title><link>https://startdebugging.net/ru/2026/08/aspnetcore-exception-handler-preserves-badhttprequestexception-status-codes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/aspnetcore-exception-handler-preserves-badhttprequestexception-status-codes/</guid><description>PR, влитый в main репозитория dotnet/aspnetcore 2026-08-19, заставляет ExceptionHandlerMiddleware учитывать BadHttpRequestException.StatusCode вместо перезаписи его значением 500.</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: [FromForm] Dictionary&lt;string, string&gt; всегда null в минимальном API</title><link>https://startdebugging.net/ru/2026/08/fix-fromform-dictionary-is-always-null-in-a-minimal-api/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-fromform-dictionary-is-always-null-in-a-minimal-api/</guid><description>Dictionary с [FromForm] в минимальном API связывается с пустым префиксом: ключи формы должны быть [key], а не metadata[key]. Оберните его в класс, чтобы имена остались читаемыми.</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: The class &apos;GoogleSignIn&apos; doesn&apos;t have an unnamed constructor</title><link>https://startdebugging.net/ru/2026/08/fix-the-class-googlesignin-doesnt-have-an-unnamed-constructor-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-the-class-googlesignin-doesnt-have-an-unnamed-constructor-in-flutter/</guid><description>В google_sign_in 7.0.0 класс GoogleSignIn стал синглтоном. Замените GoogleSignIn(scopes: ...) на GoogleSignIn.instance, один раз дождитесь initialize() и вызывайте authenticate().</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Unable to find a destination matching the provided destination specifier в сборке Flutter для iOS</title><link>https://startdebugging.net/ru/2026/08/fix-unable-to-find-a-destination-matching-the-provided-destination-specifier-in-a-flutter-ios-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-unable-to-find-a-destination-matching-the-provided-destination-specifier-in-a-flutter-ios-build/</guid><description>Среды выполнения симулятора iOS 26 содержат только arm64, поэтому забытая строка EXCLUDED_ARCHS arm64 собирает Intel-only Runner, который не запустится ни на одном симуляторе.</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: &quot;An exception was thrown while attempting to evaluate a LINQ query parameter expression&quot; в EF Core 11</title><link>https://startdebugging.net/ru/2026/08/fix-an-exception-was-thrown-while-attempting-to-evaluate-a-linq-query-parameter-expression/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-an-exception-was-thrown-while-attempting-to-evaluate-a-linq-query-parameter-expression/</guid><description>EF Core выбрасывает это, когда вычисляемая на клиенте часть запроса падает во время вычисления. Прочитайте InnerException, включите EnableSensitiveDataLogging и вынесите проверку на null за пределы лямбды.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: не удаётся получить OpenAPI 3.0 после обновления Swashbuckle.AspNetCore до v9</title><link>https://startdebugging.net/ru/2026/08/fix-cannot-target-openapi-3-0-after-upgrading-swashbuckle-aspnetcore/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-cannot-target-openapi-3-0-after-upgrading-swashbuckle-aspnetcore/</guid><description>Swashbuckle 8 и новее выдают openapi 3.0.4, а не 3.0.1, и значения OpenApiSpecVersion для patch-версии не существует. Почему так вышло и четыре способа зафиксировать нужную строку.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Swagger UI показывает Unable to render this definition после обновления до .NET 11</title><link>https://startdebugging.net/ru/2026/08/fix-swagger-ui-unable-to-render-this-definition-after-upgrading-to-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-swagger-ui-unable-to-render-this-definition-after-upgrading-to-dotnet-11/</guid><description>ASP.NET Core 11 по умолчанию выдаёт openapi 3.2.0, а Swagger UI ниже 10.1.5 его отвергает. Обновите Swashbuckle.AspNetCore.SwaggerUI или зафиксируйте OpenApiVersion на OpenApi3_1.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Semantic Kernel 1.80.0 запрещает плагинам OpenAPI следовать за редиректами</title><link>https://startdebugging.net/ru/2026/08/semantic-kernel-1-80-openapi-plugins-stop-following-redirects/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/semantic-kernel-1-80-openapi-plugins-stop-following-redirects/</guid><description>В Semantic Kernel .NET 1.80.0 появилось ломающее изменение: HttpClient по умолчанию у плагина OpenAPI больше не следует за редиректами, что закрывает обход SSRF-защиты. Что именно поменялось и почему собственный HttpClient снова открывает дыру.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: CA1873 &quot;Evaluation of this argument may be expensive and unnecessary if logging is disabled&quot;</title><link>https://startdebugging.net/ru/2026/08/fix-ca1873-evaluation-of-this-argument-may-be-expensive-and-unnecessary-if-logging-is-disabled/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-ca1873-evaluation-of-this-argument-may-be-expensive-and-unnecessary-if-logging-is-disabled/</guid><description>CA1873 срабатывает на неявный массив params object[], поэтому его вызывает почти любой вызов LogDebug. Исправьте через [LoggerMessage] или проверку IsEnabled.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: &apos;MapperConfiguration&apos; does not contain a constructor that takes 1 arguments</title><link>https://startdebugging.net/ru/2026/08/fix-mapperconfiguration-does-not-contain-a-constructor-that-takes-1-arguments/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-mapperconfiguration-does-not-contain-a-constructor-that-takes-1-arguments/</guid><description>AutoMapper 15 удалил конструктор MapperConfiguration с одним аргументом. Передайте ILoggerFactory вторым аргументом и добавьте действие конфигурации в каждый вызов AddAutoMapper.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Fix: The call is ambiguous between the following methods or properties после перехода на члены расширения C# 14</title><link>https://startdebugging.net/ru/2026/08/fix-the-call-is-ambiguous-after-moving-to-csharp-14-extension-members/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-the-call-is-ambiguous-after-moving-to-csharp-14-extension-members/</guid><description>CS0121 после переноса метода расширения в блок extension C# 14: компилятор по-прежнему генерирует старую статическую форму. Удалите дубликат или уточните вызов.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Сервер MSBuild включён по умолчанию в .NET 11 Preview 7</title><link>https://startdebugging.net/ru/2026/08/msbuild-server-on-by-default-dotnet-11-preview-7/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/msbuild-server-on-by-default-dotnet-11-preview-7/</guid><description>Preview 7 переводит сервер MSBuild из режима подключения по желанию во включённый по умолчанию, поэтому идущие подряд вызовы dotnet build и dotnet test переиспользуют прогретый рабочий процесс. Что изменилось, как отключить и как убедиться, что сервер действительно был задействован.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как генерировать первичный ключ из последовательности базы данных при вставке в EF Core 11</title><link>https://startdebugging.net/ru/2026/08/how-to-generate-a-primary-key-from-a-database-sequence-on-insert-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-generate-a-primary-key-from-a-database-sequence-on-insert-in-ef-core-11/</guid><description>Переводим ключ с IDENTITY на последовательность SQL Server в EF Core 11 через UseSequence: точный SQL, который выдаёт EF, почему явные значения ключа вдруг работают без IDENTITY_INSERT, последовательность bigint для колонки int и пропуски, которые нужно закладывать в проект.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как скрывать чувствительные значения в журналах с помощью LogProperties и редактирования данных в .NET</title><link>https://startdebugging.net/ru/2026/08/how-to-redact-sensitive-values-from-logs-with-logproperties-in-dotnet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-redact-sensitive-values-from-logs-with-logproperties-in-dotnet/</guid><description>Полное руководство по редактированию классифицированных данных в журналах, созданных генератором исходного кода: постройте таксономию, напишите Redactor, подключите EnableRedaction и AddRedaction и разберитесь с дискриминатором, который незаметно ломает частичное маскирование. С реальным выводом из Microsoft.Extensions.Compliance.Redaction 10.9.0.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Flutter 3.47 делает Impeller рендерером по умолчанию в Windows, Linux и macOS</title><link>https://startdebugging.net/ru/2026/08/flutter-3-47-impeller-default-renderer-on-desktop/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/flutter-3-47-impeller-default-renderer-on-desktop/</guid><description>Стабильный Flutter 3.47.0 переводит десктопные приложения со Skia на Impeller, не меняя ни строки в коде вашего runner. Что именно меняется, как отключить Impeller на каждой платформе и почему такое отключение временное.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как скачать файл из компонента Blazor без взаимодействия с JavaScript</title><link>https://startdebugging.net/ru/2026/08/how-to-download-a-file-from-a-blazor-component-without-javascript-interop/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-download-a-file-from-a-blazor-component-without-javascript-interop/</guid><description>Обойдитесь без JS-модуля downloadFileFromStream. Отрисуйте якорь с атрибутом download, указывающий на конечную точку minimal API с TypedResults.File, либо отправьте POST обычной HTML-формой с AntiforgeryToken. Разбираем, почему именно атрибут download мешает улучшенной навигации Blazor перехватить клик, почему data-enhance молча выбрасывает файл, и ловушку с cookie против bearer.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как заставить System.Text.Json игнорировать свойство с модификатором required</title><link>https://startdebugging.net/ru/2026/08/how-to-make-system-text-json-ignore-a-property-with-the-required-modifier/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-make-system-text-json-ignore-a-property-with-the-required-modifier/</guid><description>[JsonIgnore] на члене с required выбрасывает InvalidOperationException: marked required but does not specify a setter. Почему эти две возможности конфликтуют и четыре способа всё же проигнорировать свойство, измерено на .NET 10.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать IDbContextFactory&lt;T&gt; из singleton-сервиса в Blazor</title><link>https://startdebugging.net/ru/2026/08/how-to-use-idbcontextfactory-from-a-singleton-service-in-blazor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-use-idbcontextfactory-from-a-singleton-service-in-blazor/</guid><description>Singleton не может внедрить DbContext, но может внедрить IDbContextFactory&lt;T&gt;, потому что AddDbContextFactory по умолчанию регистрирует фабрику как singleton. Создавайте и освобождайте по одному контексту на вызов и никогда не сохраняйте экземпляр.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate></item><item><title>System.IO.Compression наконец читает и пишет зашифрованные ZIP в .NET 11 Preview 7</title><link>https://startdebugging.net/ru/2026/08/dotnet-11-preview-7-password-protected-zip-archives/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/dotnet-11-preview-7-password-protected-zip-archives/</guid><description>.NET 11 Preview 7 добавляет в System.IO.Compression записи ZIP, защищённые паролем, с поддержкой AES-256, типами опций для операций над целыми каталогами и одной ошибкой с пустыми файлами, которая уже исправлена в main.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Riverpod Notifier vs AsyncNotifier vs StreamNotifier во Flutter: какой класс наследовать?</title><link>https://startdebugging.net/ru/2026/08/riverpod-notifier-vs-asyncnotifier-vs-streamnotifier-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/riverpod-notifier-vs-asyncnotifier-vs-streamnotifier-in-flutter/</guid><description>Выбор определяется типом возврата build(): T означает Notifier, FutureOr&lt;T&gt; означает AsyncNotifier, Stream&lt;T&gt; означает StreamNotifier. Здесь матрица выбора, иерархия типов, которая это объясняет, и подводные камни фильтрации по == и перезаписи состояния. Проверено на flutter_riverpod 3.4.2 и Flutter 3.44.2.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Scalar против Swagger UI для документации OpenAPI в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/08/scalar-vs-swagger-ui-for-openapi-documentation-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/scalar-vs-swagger-ui-for-openapi-documentation-in-aspnetcore-11/</guid><description>Scalar отдаёт 1.02 МиБ сжатого gzip JavaScript и заметно более удобный конструктор запросов. Swagger UI отдаёт 514 КиБ и рендерит OpenAPI 3.2, который .NET 11 теперь генерирует по умолчанию. Измеренные объёмы, разрыв по 3.2, маршрутизация через конечные точки с обеих сторон и детали аутентификации, которые решают выбор.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Zstandard против Brotli и Gzip: сжатие ответов в .NET 11</title><link>https://startdebugging.net/ru/2026/08/zstandard-vs-brotli-vs-gzip-response-compression-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/zstandard-vs-brotli-vs-gzip-response-compression-in-dotnet-11/</guid><description>Zstandard это правильный вариант по умолчанию для динамических ответов API в .NET 11, но не с тем уровнем качества, с которым поставляется провайдер ASP.NET Core. Бенчмарки на реальных JSON-данных показывают, почему качество 1 обгоняет качество 3 по умолчанию и по размеру, и по нагрузке на CPU, когда Brotli всё ещё выигрывает и почему Gzip остаётся только как запасной вариант ради совместимости.</description><pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: An error occurred while preparing SDK package NDK (Side by side): Not in GZIP format</title><link>https://startdebugging.net/ru/2026/08/fix-an-error-occurred-while-preparing-sdk-package-ndk-not-in-gzip-format/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-an-error-occurred-while-preparing-sdk-package-ndk-not-in-gzip-format/</guid><description>SDK Manager заново распаковывает повреждённый архив, который он закешировал в .downloadIntermediates. Удалите эту папку и наполовину распакованный каталог ndk/&lt;version&gt;, затем пересоберите.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Google Play отклоняет приложение на Flutter или .NET MAUI из-за отсутствия поддержки страниц памяти 16 КБ</title><link>https://startdebugging.net/ru/2026/08/fix-google-play-rejects-flutter-or-maui-app-for-16-kb-page-size/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-google-play-rejects-flutter-or-maui-app-for-16-kb-page-size/</guid><description>Play отклоняет бандл, потому что у 64-битной .so сегменты ELF выровнены по 4 КБ. Найдите библиотеку, пересоберите с NDK r28+ и проверьте через zipalign -P 16.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: mprotect failed: 13 (Permission denied) в отладочной сборке Flutter для iOS</title><link>https://startdebugging.net/ru/2026/08/fix-mprotect-failed-permission-denied-in-a-flutter-ios-debug-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-mprotect-failed-permission-denied-in-a-flutter-ios-debug-build/</guid><description>iOS запрещает Dart VM делать страницы памяти исполняемыми, поэтому JIT падает при запуске. Для iOS 26 нужен Flutter 3.35.0 или новее, для iOS 18.4 достаточно 3.32.0. Никакой entitlement это не лечит.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>В Microsoft.Extensions.AI 10.9 появились чат-клиенты с маршрутизацией и failover</title><link>https://startdebugging.net/ru/2026/08/microsoft-extensions-ai-10-9-routing-and-failover-chat-clients/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/microsoft-extensions-ai-10-9-routing-and-failover-chat-clients/</guid><description>Microsoft.Extensions.AI 10.9.0 добавляет RoutingChatClient, OrderedFailoverChatClient и SemanticRoutingChatClient. Проверено на реальном пакете: что переключается по failover, что нет и почему MEAI001 ломает сборку.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Цепи Blazor Server теперь сами приостанавливаются, когда вкладка простаивает</title><link>https://startdebugging.net/ru/2026/08/blazor-auto-pause-idle-circuits-dotnet-11-preview-7/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/blazor-auto-pause-idle-circuits-dotnet-11-preview-7/</guid><description>В .NET 11 Preview 7 появился подключаемый пакет, который приостанавливает интерактивные Server-цепи, пока вкладка браузера скрыта, освобождая память и соединения SignalR, занятые пользователями, которых на самом деле нет.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: 404 Not Found для blazor.server.js после установки нового SDK .NET</title><link>https://startdebugging.net/ru/2026/08/fix-404-not-found-for-blazor-server-js-after-installing-a-new-dotnet-sdk/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-404-not-found-for-blazor-server-js-after-installing-a-new-dotnet-sdk/</guid><description>blazor.server.js возвращает 404 в .NET 10, потому что скрипт перестал быть встроенным ресурсом. Добавьте RequiresAspNetWebAssets в host-проект или убедитесь, что в нём есть файл .razor.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: MSB4057 The target &quot;ResolvePackageAssets&quot; does not exist in the project в .NET MAUI</title><link>https://startdebugging.net/ru/2026/08/fix-msb4057-the-target-resolvepackageassets-does-not-exist-in-the-project/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-msb4057-the-target-resolvepackageassets-does-not-exist-in-the-project/</guid><description>MSB4057 означает, что цель выполнялась во внешней cross-targeting сборке мульти-таргет проекта MAUI. Укажите TFM или добавьте цели условие по TargetFramework.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: обозреватель тестов Visual Studio зависает на проекте xUnit v3, хотя dotnet test проходит</title><link>https://startdebugging.net/ru/2026/08/fix-visual-studio-test-explorer-hangs-on-xunit-v3-while-dotnet-test-passes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-visual-studio-test-explorer-hangs-on-xunit-v3-while-dotnet-test-passes/</guid><description>Обозреватель тестов запускает xUnit v3 через серверный режим Microsoft.Testing.Platform по сокету JSON-RPC, а dotnet test нет. Задайте UseMicrosoftTestingPlatformRunner, чтобы оба пути были одним кодом, либо DisableTestingPlatformServerCapability для возврата к VSTest.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate></item><item><title>В C# 15 появились break и continue с меткой в .NET 11 Preview 7</title><link>https://startdebugging.net/ru/2026/08/csharp-15-labeled-break-and-continue-dotnet-11-preview-7/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/csharp-15-labeled-break-and-continue-dotnet-11-preview-7/</guid><description>break и continue с меткой попали в раздел C# в .NET 11 Preview 7. Теперь метку можно поставить прямо на цикл и перейти к нему напрямую, что отправляет на покой обходные приёмы с булевым флагом и goto во вложенных циклах.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: dotnet tool install --global dotnet-ef выдаёт ошибку</title><link>https://startdebugging.net/ru/2026/08/fix-dotnet-tool-install-global-dotnet-ef-throws-an-error/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-dotnet-tool-install-global-dotnet-ef-throws-an-error/</guid><description>Все способы, которыми dotnet tool install --global dotnet-ef падает на SDK .NET 10, с точным сообщением и кодом возврата для каждого: уже установлен, версия не найдена, понижение версии заблокировано, конфликт shim, недоступный фид NuGet и несоответствие среды выполнения, которое ломается уже после успешной установки.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The &apos;interceptors&apos; feature is not enabled in this namespace</title><link>https://startdebugging.net/ru/2026/08/fix-the-interceptors-feature-is-not-enabled-in-this-namespace-microsoft-aspnetcore-openapi/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-the-interceptors-feature-is-not-enabled-in-this-namespace-microsoft-aspnetcore-openapi/</guid><description>CS9137 приходит от генератора исходного кода в Microsoft.AspNetCore.OpenApi. Добавьте InterceptorsNamespaces в каждый проект, который вызывает AddOpenApi, а не только в тот, где лежит PackageReference.</description><pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Облачные сессии Claude Code теперь можно запускать на собственных хостах</title><link>https://startdebugging.net/ru/2026/08/claude-code-self-hosted-runner-cloud-sessions-on-your-own-hosts/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/claude-code-self-hosted-runner-cloud-sessions-on-your-own-hosts/</guid><description>В Claude Code 2.1.224 появилась команда claude self-hosted-runner, публичная бета, которая выполняет облачные сессии на машинах, которые вы разворачиваете сами. Разбираем настройку, правило одного пользователя на runner и то, что всё равно покидает вашу сеть.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: The type or namespace name &apos;OpenApiReference&apos; could not be found</title><link>https://startdebugging.net/ru/2026/08/fix-the-type-or-namespace-name-openapireference-could-not-be-found/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-the-type-or-namespace-name-openapireference-could-not-be-found/</guid><description>OpenApiReference удалён в Microsoft.OpenApi 2.0. Смены using на Microsoft.OpenApi недостаточно: замените каждое использование типизированной ссылкой вроде OpenApiSchemaReference.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как заменить устаревшие groupValue и onChanged у Radio во Flutter на RadioGroup</title><link>https://startdebugging.net/ru/2026/08/how-to-replace-flutter-deprecated-radio-groupvalue-and-onchanged-with-radiogroup/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-replace-flutter-deprecated-radio-groupvalue-and-onchanged-with-radiogroup/</guid><description>Radio.groupValue и Radio.onChanged объявлены устаревшими после Flutter 3.32, а RadioGroup появился в 3.35. Пошаговая миграция для Radio, RadioListTile и CupertinoRadio, почему dart fix не сделает её за вас, и ловушка вывода обобщённых типов, из-за которой мигрированный radio молча остаётся отключённым. Проверено на Flutter 3.44.2 stable.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как показать модальное окно в .NET MAUI 11</title><link>https://startdebugging.net/ru/2026/08/how-to-show-a-modal-window-in-dotnet-maui-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-show-a-modal-window-in-dotnet-maui-11/</guid><description>Модальным окном в .NET MAUI 11 называют две совершенно разные вещи. PushModalAsync даёт модальную страницу на всех платформах. Настоящего окна операционной системы, блокирующего окно-владельца, в MAUI нет вообще, поэтому здесь разобрана связка WinUI OverlappedPresenter.IsModal и Win32-дескриптора владельца, которая реально работает в Windows, и что делать в Mac Catalyst.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.224 позволяет одной сессии написать другой</title><link>https://startdebugging.net/ru/2026/08/claude-code-2-1-224-sessions-message-each-other/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/claude-code-2-1-224-sessions-message-each-other/</guid><description>Обмен сообщениями между сессиями появился 2026-08-07. ListAgents и SendMessage передают обычный текст между вашими сессиями, а crossSessionInbound решает, что до них дойдёт.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить сериализацию System.Text.Json, сгенерированную генератором исходного кода, с помощью модификатора type info resolver</title><link>https://startdebugging.net/ru/2026/08/how-to-customize-source-generated-system-text-json-serialization-with-a-modifier/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-customize-source-generated-system-text-json-serialization-with-a-modifier/</guid><description>Как подключить модификатор JsonTypeInfo к сгенерированному JsonSerializerContext в .NET 11: почему new MyContext(options) молча его отбрасывает, рабочая схема с WithAddedModifier, быстрый путь, который вы теряете (с измерениями), и ловушка политики именования, из-за которой модификатор ничего не делает.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как вызвать хранимую процедуру и отобразить её результаты в EF Core 11</title><link>https://startdebugging.net/ru/2026/08/how-to-call-a-stored-procedure-and-map-its-results-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-call-a-stored-procedure-and-map-its-results-in-ef-core-11/</guid><description>Используйте FromSql на DbSet, когда процедура возвращает полные строки сущности, Database.SqlQuery&lt;T&gt; при проекции и ExecuteSql, когда она не возвращает ничего. Никогда не присоединяйте оператор LINQ к EXEC и не читайте выходной параметр до того, как ридер будет освобождён.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как переопределить обработчик отказоустойчивости, который регистрирует Aspire</title><link>https://startdebugging.net/ru/2026/08/how-to-override-the-default-resilience-handler-that-aspire-registers/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-override-the-default-resilience-handler-that-aspire-registers/</guid><description>AddServiceDefaults в Aspire применяет стандартный обработчик отказоустойчивости к каждому HttpClient. Повторный вызов AddStandardResilienceHandler не заменяет его, а добавляет второй обработчик поверх первого. Здесь разобраны три реальных способа переопределения, недокументированное имя настроек -standard и бесконечный тайм-аут, который вы получаете, если просто удалить обработчик.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Списки разрешённых MCP-серверов появились в корпоративных управляемых настройках Copilot</title><link>https://startdebugging.net/ru/2026/08/copilot-mcp-allowlists-enterprise-managed-settings/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/copilot-mcp-allowlists-enterprise-managed-settings/</guid><description>Changelog GitHub от 6 августа 2026 года добавляет allowedMcpServers и deniedMcpServers в copilot/managed-settings.json. Сопоставление по URL и argv, приоритет запрета и поведение по умолчанию fail closed, которого у реестра на основе имён никогда не было.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как переименовать таблицу в миграции EF Core 11 без потери данных</title><link>https://startdebugging.net/ru/2026/08/how-to-rename-a-table-in-an-ef-core-11-migration-without-losing-data/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-rename-a-table-in-an-ef-core-11-migration-without-losing-data/</guid><description>EF Core генерирует RenameTable, когда вы меняете имя таблицы, но DropTable плюс CreateTable, когда вы переименовываете класс сущности. Здесь разобрано, как различать эти два случая, приём с ToTable, который делает переименование класса бесплатным, и баг переименования столбцов, который молча меняет ваши данные местами.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как запустить файловое приложение на C# командой `dotnet run app.cs` в .NET 11</title><link>https://startdebugging.net/ru/2026/08/how-to-run-a-file-based-csharp-app-with-dotnet-run-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-run-a-file-based-csharp-app-with-dotnet-run-in-dotnet-11/</guid><description>Полное руководство по файловым приложениям на C#: запуск одного файла .cs через dotnet run, директивы #:package, #:sdk, #:property, #:project и #:include, многофайловые скрипты с #:ref, обработка аргументов и stdin, кеш сборки, публикация с native AOT, упаковка в виде инструмента dotnet и dotnet project convert, когда скрипт перерастает себя.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как отдавать документацию OpenAPI через Scalar вместо Swagger UI в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/08/how-to-serve-openapi-docs-with-scalar-instead-of-swagger-ui-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-serve-openapi-docs-with-scalar-instead-of-swagger-ui-in-aspnetcore-11/</guid><description>Замените UseSwaggerUI на MapScalarApiReference в ASP.NET Core 11: маршрутизация, несколько документов, предзаполненная аутентификация, защита в продакшене, ресурсы без CDN и расширения OpenAPI, доступные только в Scalar.</description><pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Aspire против Docker Compose для локальной разработки с несколькими сервисами</title><link>https://startdebugging.net/ru/2026/08/aspire-vs-docker-compose-for-local-multi-service-development/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/aspire-vs-docker-compose-for-local-multi-service-development/</guid><description>Aspire 13.4.6 выигрывает внутренний цикл разработки .NET, потому что запускает ваши проекты как процессы хоста, которые можно отлаживать, а Docker Compose выигрывает, когда compose-файл одновременно является вашим контрактом для CI и развёртывания. Измеренные времена запуска и цикла правка-выполнение для обоих, конфигурация, которую каждый инструмент внедряет за вас, и шесть тонкостей, которые решают дело.</description><pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft.Testing.Platform 2.3: --report-gh выводит падения тестов прямо в diff пул-реквеста</title><link>https://startdebugging.net/ru/2026/08/microsoft-testing-platform-2-3-github-actions-annotations/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/microsoft-testing-platform-2-3-github-actions-annotations/</guid><description>Статья в блоге .NET от 2026-08-06 про отчёты MTP показывает набор расширений, ставших стабильными в Microsoft.Testing.Platform 2.3.0: аннотации GitHub Actions, устойчивая к падениям запись TRX и история нестабильности в Azure DevOps.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate></item><item><title>WebApplicationFactory против Testcontainers для интеграционных тестов в ASP.NET Core</title><link>https://startdebugging.net/ru/2026/08/webapplicationfactory-vs-testcontainers-for-aspnetcore-integration-tests/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/webapplicationfactory-vs-testcontainers-for-aspnetcore-integration-tests/</guid><description>Это не альтернативы. WebApplicationFactory поднимает ваше приложение, Testcontainers поднимает его зависимости. Измерено на .NET SDK 10.0.201: фикстура с контейнером стоит 1.7 с на класс против 10 мс у SQLite, а нарушение HasMaxLength(16), которое Postgres отклоняет с кодом 22001, SQLite молча принимает.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate></item><item><title>xUnit v3 vs NUnit vs MSTest в 2026 году: что выбрать?</title><link>https://startdebugging.net/ru/2026/08/xunit-v3-vs-nunit-vs-mstest-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/xunit-v3-vs-nunit-vs-mstest-in-2026/</guid><description>Выбирайте xUnit v3 для новых проектов на .NET, NUnit 4.6, если вы живёте в его модели ограничений, и MSTest 4, если он у вас уже в проде. Измеренное сравнение на .NET SDK 10.0.201: значения параллелизма по умолчанию, жизненный цикл тестового класса, вывод при провале утверждений и конфликт версий Microsoft.Testing.Platform, ломающий runner NUnit.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Автоматизации Copilot теперь запускаются по комментариям в issue и PR</title><link>https://startdebugging.net/ru/2026/08/copilot-automations-now-trigger-on-issue-and-pr-comments/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/copilot-automations-now-trigger-on-issue-and-pr-comments/</guid><description>Changelog GitHub от 2026-08-03 добавляет триггер по комментарию в автоматизации облачного агента Copilot и заменяет связку из workflow issue_comment, PAT и вызова REST, которую команды собирали вручную с июня.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Attempting to reconnect to the server после обрыва circuit в Blazor Server</title><link>https://startdebugging.net/ru/2026/08/fix-attempting-to-reconnect-to-the-server-after-a-blazor-circuit-disconnects/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-attempting-to-reconnect-to-the-server-after-a-blazor-circuit-disconnects/</guid><description>Модальное окно переподключения означает, что оборвался circuit SignalR, а не что приложение упало. Определите, чем закончилась попытка, failed или rejected, и почините привязку сессий, окно хранения в 3 минуты, лимит 32 КБ или сохраните состояние через [PersistentState].</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: flutter doctor сообщает cmdline-tools component is missing</title><link>https://startdebugging.net/ru/2026/08/fix-flutter-doctor-cmdline-tools-component-is-missing/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-flutter-doctor-cmdline-tools-component-is-missing/</guid><description>Установите Android SDK Command-line Tools так, чтобы бинарники оказались в &lt;sdk&gt;/cmdline-tools/latest/bin, укажите ANDROID_HOME на корень SDK и запустите flutter doctor снова.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>gRPC vs REST vs SignalR для вызовов между сервисами в .NET 11</title><link>https://startdebugging.net/ru/2026/08/grpc-vs-rest-vs-signalr-for-service-to-service-calls-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/grpc-vs-rest-vs-signalr-for-service-to-service-calls-in-dotnet-11/</guid><description>Для внутренних вызовов между сервисами в .NET 11 по умолчанию выбирайте gRPC, когда вы владеете обеими сторонами контракта и вызов идёт точка-точка. Используйте REST с JSON, когда сервис должен вызывать что-то, что вы не контролируете. SignalR не является RPC-транспортом между сервисами: обращайтесь к нему только тогда, когда один производитель должен разослать сообщение многим долгоживущим потребителям.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: AggregateException &quot;One or more errors occurred&quot; при ожидании Task.WhenAll в C#</title><link>https://startdebugging.net/ru/2026/08/fix-aggregateexception-one-or-more-errors-occurred-when-awaiting-task-whenall/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-aggregateexception-one-or-more-errors-occurred-when-awaiting-task-whenall/</guid><description>await Task.WhenAll выбрасывает лишь одну из ошибок. Сохраните задачу WhenAll в переменной и прочитайте Exception.InnerExceptions, чтобы увидеть все ошибки, а не одну.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Решение: CS1998 &quot;This async method lacks &apos;await&apos; operators and will run synchronously&quot; в C#</title><link>https://startdebugging.net/ru/2026/08/fix-cs1998-this-async-method-lacks-await-operators-and-will-run-synchronously/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-cs1998-this-async-method-lacks-await-operators-and-will-run-synchronously/</guid><description>CS1998 означает, что в async-методе нет await, поэтому он выполняется синхронно. Уберите модификатор async и верните Task.FromResult или добавьте забытый await.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: HTTP Error 500.30 - ASP.NET Core app failed to start после развёртывания на IIS</title><link>https://startdebugging.net/ru/2026/08/fix-http-error-500-30-aspnet-core-app-failed-to-start-on-iis/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-http-error-500-30-aspnet-core-app-failed-to-start-on-iis/</guid><description>500.30 означает, что приложение выбросило исключение при запуске внутри w3wp.exe. Настоящее исключение уже находится в журнале приложений Windows под источником IIS AspNetCore Module V2. Сначала прочитайте его, а затем расставьте приоритеты: отсутствующий общий фреймворк, несоответствие разрядности пула приложений, отсутствующая конфигурация или права пула.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Распознавание речи в реальном времени на C# с Foundry Local: модель на 0.67 ГБ и ни одного обращения к облаку</title><link>https://startdebugging.net/ru/2026/08/foundry-local-live-speech-to-text-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/foundry-local-live-speech-to-text-in-csharp/</guid><description>2026-08-04 в блоге .NET появился пример живой транскрипции с микрофона на Foundry Local и модели nemotron-speech-streaming-en-0.6b. Разбираем API сессии, ловушку с обратным давлением при передаче PCM и выбор пакета NuGet.</description><pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: No Material widget found во Flutter</title><link>https://startdebugging.net/ru/2026/08/fix-no-material-widget-found-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-no-material-widget-found-in-flutter/</guid><description>Оберните поддерево в Material(type: MaterialType.transparency) или поместите экран в Scaffold. Сам по себе MaterialApp не даёт предка Material, поэтому TextField и InkWell падают.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как построить список с бесконечной прокруткой и пагинацией во Flutter с помощью ScrollController</title><link>https://startdebugging.net/ru/2026/08/how-to-build-an-infinite-scrolling-paginated-list-in-flutter-with-scrollcontroller/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-build-an-infinite-scrolling-paginated-list-in-flutter-with-scrollcontroller/</guid><description>Присоедините ScrollController к ListView.builder, запрашивайте следующую страницу, когда position.extentAfter опускается ниже порога предзагрузки, и защитите запрос флагами isLoading, hasMore и error. Полная реализация плюс ловушка слишком короткой первой страницы.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как включить поддержку нескольких окон в десктопном приложении на Flutter</title><link>https://startdebugging.net/ru/2026/08/how-to-enable-multi-window-support-in-a-flutter-desktop-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-enable-multi-window-support-in-a-flutter-desktop-app/</guid><description>Стабильный Flutter 3.44.8 по-прежнему не предоставляет публичного API для нескольких окон. Разбираем, как включить экспериментальный feature flag windowing в канале main, использовать RegularWindowController и WindowManager для настоящих окон верхнего уровня и что применять, если релиз нужен сегодня на стабильной ветке.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate></item><item><title>API-ключи NuGet ограничат 30 днями с 17 августа, а все старые ключи истекут 1 ноября</title><link>https://startdebugging.net/ru/2026/08/nuget-api-keys-capped-at-30-days-from-august-17/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/nuget-api-keys-capped-at-30-days-from-august-17/</guid><description>NuGet.org убирает опцию 365-дневного API-ключа 2026-08-17, ограничивает новые ключи 30 днями и 1 ноября аннулирует все ключи, созданные до этой даты. Что сломается и как перевести workflow публикации на trusted publishing через OIDC.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Провайдер Copilot в Agent Framework превращает Copilot CLI в обычный AIAgent</title><link>https://startdebugging.net/ru/2026/08/agent-framework-github-copilot-provider-copilot-cli-as-aiagent/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/agent-framework-github-copilot-provider-copilot-cli-as-aiagent/</guid><description>Microsoft.Agents.AI.GitHub.Copilot 1.16.0 вышел 2026-07-30. Среда выполнения Copilot CLI теперь скрыта за абстракцией AIAgent, разрешения по умолчанию запрещены, а Squad подключает целую команду агентов как один AIAgent.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как реализовать оптимистичную конкурентность с токеном rowversion в EF Core 11</title><link>https://startdebugging.net/ru/2026/08/how-to-implement-optimistic-concurrency-with-a-rowversion-token-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-implement-optimistic-concurrency-with-a-rowversion-token-in-ef-core-11/</guid><description>Добавляем токен конкурентности rowversion в EF Core 11: настройка через [Timestamp] и IsRowVersion, SQL, который EF действительно генерирует, перехват DbUpdateConcurrencyException, побеждает база vs побеждает клиент vs слияние, отсоединённые API с ETag и пять ловушек, которые молча отключают всю защиту.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как хранить enum строкой в EF Core 11 с помощью value converter</title><link>https://startdebugging.net/ru/2026/08/how-to-store-an-enum-as-a-string-in-ef-core-11-with-a-value-converter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-store-an-enum-as-a-string-in-ef-core-11-with-a-value-converter/</guid><description>Храните C#-перечисления в EF Core 11 читаемыми строками вместо int: HasConversion, массовая настройка для всех enum, ловушка nvarchar(max), проблема сортировки и миграция существующего int-столбца.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как валидировать опции при старте с помощью IValidateOptions&lt;T&gt; в .NET 11</title><link>https://startdebugging.net/ru/2026/08/how-to-validate-options-at-startup-with-ivalidateoptions-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-validate-options-at-startup-with-ivalidateoptions-in-dotnet-11/</guid><description>Реализуйте IValidateOptions&lt;T&gt;, зарегистрируйте его во внедрении зависимостей и добавьте ValidateOnStart, чтобы неверный appsettings.json убивал процесс, а не первый запрос, который его затронет. Разбираются перегрузка Validate&lt;TValidator&gt;() из .NET 11, асинхронная валидация через IAsyncValidateOptions&lt;T&gt; и три случая, когда ValidateOnStart молча ничего не делает.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить Kestrel для работы по HTTP/3 в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/08/how-to-configure-kestrel-to-serve-http-3-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-configure-kestrel-to-serve-http-3-in-aspnetcore-11/</guid><description>Полное руководство по включению HTTP/3 в Kestrel в ASP.NET Core 11: настройка конечной точки через HttpProtocols.Http1AndHttp2AndHttp3, требования MsQuic к платформе в Windows, Linux и macOS, почему первый запрос никогда не идёт по HTTP/3, проверка через HttpClient и middleware, настройка QuicTransportOptions и проблемы с firewall и прокси, из-за которых происходит тихий откат.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как заменить new Regex(...) на генератор исходного кода [GeneratedRegex] в .NET 11</title><link>https://startdebugging.net/ru/2026/08/how-to-replace-new-regex-with-the-generatedregex-source-generator-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-replace-new-regex-with-the-generatedregex-source-generator-in-dotnet-11/</guid><description>Полное руководство по переходу с new Regex(pattern, RegexOptions.Compiled) на [GeneratedRegex] в .NET 11: механическая переработка кода, частичные методы против частичных свойств, измеренные показатели запуска и пропускной способности, диагностики SYSLIB1040-1045 и два случая, когда генератор молча откатывается к закешированному Regex.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Как выполнять ресурсоёмкие вычисления в приложении Blazor WebAssembly с помощью Web Workers в .NET 11</title><link>https://startdebugging.net/ru/2026/08/how-to-run-cpu-bound-work-in-a-blazor-webassembly-app-with-web-workers-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/how-to-run-cpu-bound-work-in-a-blazor-webassembly-app-with-web-workers-in-dotnet-11/</guid><description>Полное руководство по выносу ресурсоёмких вычислений с UI-потока Blazor WebAssembly в .NET 11: почему Task.Run не помогает, новый шаблон blazorwebworker, API WebWorkerClient с отменой и таймаутами, ограничения маршалинга JSExport и цена второй среды выполнения на каждый worker.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Visual Studio 18.8 приносит встроенные skills агента для .NET и сразу их отключает</title><link>https://startdebugging.net/ru/2026/08/visual-studio-18-8-built-in-dotnet-agent-skills-off-by-default/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/visual-studio-18-8-built-in-dotnet-agent-skills-off-by-default/</guid><description>Visual Studio 2026 18.8 помещает написанные экспертами skills агента для .NET и Azure в выбор инструментов, в категорию Built-in и выключенными по умолчанию. Именно это значение по умолчанию и интересно.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Лучшая идея нового агента модульных тестов для .NET не в написании тестов</title><link>https://startdebugging.net/ru/2026/08/dotnet-skills-polyglot-unit-test-agent-assertion-gate/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/dotnet-skills-polyglot-unit-test-agent-assertion-gate/</guid><description>2026-07-31 Microsoft выпустила полиглотного агента модульных тестов в dotnet/skills. Самое интересное в нём: обязательная проверка, которая применяет псевдомутацию к вашим утверждениям, прежде чем агент имеет право сказать, что работа закончена.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: A RenderFlex overflowed by N pixels on the bottom при открытии клавиатуры во Flutter</title><link>https://startdebugging.net/ru/2026/08/fix-renderflex-overflowed-on-the-bottom-when-the-keyboard-opens-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/fix-renderflex-overflowed-on-the-bottom-when-the-keyboard-opens-in-flutter/</guid><description>Клавиатура уменьшает максимальную высоту тела Scaffold, поэтому Column, которая едва помещалась, теперь переполняется. Оберните тело в скроллируемый виджет вместо отключения resizeToAvoidBottomInset.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate></item><item><title>IOptions&lt;T&gt; vs IOptionsSnapshot&lt;T&gt; vs IOptionsMonitor&lt;T&gt; в .NET 11</title><link>https://startdebugging.net/ru/2026/08/ioptions-vs-ioptionssnapshot-vs-ioptionsmonitor-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/08/ioptions-vs-ioptionssnapshot-vs-ioptionsmonitor-in-dotnet-11/</guid><description>По умолчанию используйте IOptions&lt;T&gt;. Берите IOptionsMonitor&lt;T&gt;, когда синглтон должен видеть перезагрузку конфигурации, и IOptionsSnapshot&lt;T&gt; только тогда, когда scoped-потребителю нужно значение, стабильное в пределах одного запроса. Решает время жизни потребителя, а не форма настроек.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Copilot code review теперь читает вашу папку .github/skills</title><link>https://startdebugging.net/ru/2026/07/copilot-code-review-agent-skills-and-mcp-ga/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/copilot-code-review-agent-skills-and-mcp-ga/</guid><description>Agent skills и MCP-серверы в GitHub Copilot code review стали общедоступными 2026-07-29. Где лежат файлы, почему skills загружаются из head-ветки и почему любой вызов MCP-инструмента в ревью доступен только на чтение.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: CocoaPods could not find compatible versions for pod при сборке Flutter под iOS</title><link>https://startdebugging.net/ru/2026/07/fix-cocoapods-could-not-find-compatible-versions-for-pod-in-a-flutter-ios-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-cocoapods-could-not-find-compatible-versions-for-pod-in-a-flutter-ios-build/</guid><description>Читайте вторую строку ошибки, а не первую. Именно она называет причину: устаревший Podfile.lock, слишком низкий deployment target или два плагина, фиксирующих один транзитивный pod.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Gradle task assembleDebug failed with exit code 1 при сборке Android в Flutter</title><link>https://startdebugging.net/ru/2026/07/fix-gradle-task-assembledebug-failed-with-exit-code-1-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-gradle-task-assembledebug-failed-with-exit-code-1-in-flutter/</guid><description>Эта строка -- обёртка, а не ошибка. Запустите заново с flutter run --verbose или ./gradlew assembleDebug --stacktrace, прочитайте настоящий сбой Gradle и чините именно его.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Unable to load asset во Flutter после добавления изображения в pubspec.yaml</title><link>https://startdebugging.net/ru/2026/07/fix-unable-to-load-asset-in-flutter-after-adding-an-image-to-pubspec-yaml/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-unable-to-load-asset-in-flutter-after-adding-an-image-to-pubspec-yaml/</guid><description>Ключа ассета нет в собранном bundle, а не на диске. Исправьте отступы в pubspec, добавьте слэш, приведите ключ в точное соответствие и перезапустите приложение.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: JavaScript interop calls cannot be issued at this time (предварительный рендеринг Blazor)</title><link>https://startdebugging.net/ru/2026/07/fix-javascript-interop-calls-cannot-be-issued-at-this-time-blazor-prerendering/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-javascript-interop-calls-cannot-be-issued-at-this-time-blazor-prerendering/</guid><description>Предварительный рендеринг выполняет компонент на сервере без браузера, поэтому IJSRuntime бросает исключение. Перенесите вызов в OnAfterRenderAsync, проверяйте RendererInfo.IsInteractive или отключите предварительный рендеринг.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Your startup project doesn&apos;t reference Microsoft.EntityFrameworkCore.Design</title><link>https://startdebugging.net/ru/2026/07/fix-startup-project-doesnt-reference-microsoft-entityframeworkcore-design/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-startup-project-doesnt-reference-microsoft-entityframeworkcore-design/</guid><description>Добавьте Microsoft.EntityFrameworkCore.Design в стартовый проект, который собирает dotnet ef, а не в проект с вашим DbContext, и передавайте -s в многослойных решениях.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Visual Studio 18.9 позволяет задавать усилие размышления для каждой модели</title><link>https://startdebugging.net/ru/2026/07/visual-studio-18-9-thinking-effort-control-per-model/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/visual-studio-18-9-thinking-effort-control-per-model/</guid><description>В Visual Studio 18.9 Insiders 2 появился элемент управления усилием размышления для каждой модели, с уровнями от Low до Max, который открывает тот же параметр, что уже принимают API моделей.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Couldn&apos;t find a valid ICU package installed on the system в контейнере .NET</title><link>https://startdebugging.net/ru/2026/07/fix-couldnt-find-a-valid-icu-package-installed-on-the-system/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-couldnt-find-a-valid-icu-package-installed-on-the-system/</guid><description>В базовом образе нет ICU. Установите icu-libs и icu-data-full, перейдите на вариант образа -extra или включите InvariantGlobalization=true и примите порядковое поведение строк.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Reflection-based serialization has been disabled for this application</title><link>https://startdebugging.net/ru/2026/07/fix-reflection-based-serialization-has-been-disabled-for-this-application/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-reflection-based-serialization-has-been-disabled-for-this-application/</guid><description>Это InvalidOperationException означает, что PublishTrimmed или PublishAot выставили JsonSerializerIsReflectionEnabledByDefault в false. Решается сгенерированным JsonSerializerContext.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: &quot;The model for context &apos;X&apos; has pending changes&quot; в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/fix-the-model-for-context-has-pending-changes-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-the-model-for-context-has-pending-changes-in-ef-core-11/</guid><description>EF Core выбрасывает PendingModelChangesWarning, когда модель расходится с последним снимком миграции. Добавьте миграцию или устраните ложное срабатывание.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Вышел MCP C# SDK 2.0: без состояния по умолчанию и MCP9005 на старом коде</title><link>https://startdebugging.net/ru/2026/07/mcp-csharp-sdk-2-0-stateless-by-default-and-mcp9005/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/mcp-csharp-sdk-2-0-stateless-by-default-and-mcp9005/</guid><description>ModelContextProtocol 2.0.0 вышел 2026-07-28 с включённым по умолчанию транспортом HTTP без состояния, с Multi Round-Trip Requests вместо инициируемой сервером elicitation и с предупреждением анализатора на ElicitAsync и SampleAsync.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate></item><item><title>MCP-сервер GitHub стал без состояния и удалил хранилище сессий в Redis</title><link>https://startdebugging.net/ru/2026/07/github-mcp-server-goes-stateless-redis-session-store/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/github-mcp-server-goes-stateless-redis-session-store/</guid><description>2026-07-23 GitHub выпустил поддержку ревизии MCP 2026-07-28 раньше даты спецификации. Примечательно именно вычитание: нет handshake initialize, нет Mcp-Session-Id, нет Redis.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как применять миграции EF Core 11 в продакшене с помощью dotnet ef migrations bundle</title><link>https://startdebugging.net/ru/2026/07/how-to-apply-ef-core-11-migrations-in-production-with-migrations-bundle/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-apply-ef-core-11-migrations-in-production-with-migrations-bundle/</guid><description>Полное руководство по развёртыванию изменений схемы EF Core 11 через bundle миграций: сборка efbundle в CI, ловушка appsettings.json с именованными строками подключения, self-contained bundle и musl RID для Alpine, блокировка миграций начиная с EF Core 9, откат к целевой миграции и почему транзакция на миграцию не спасает на MySQL.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как собрать веб-приложение Flutter с WebAssembly через flutter build web --wasm</title><link>https://startdebugging.net/ru/2026/07/how-to-build-a-flutter-web-app-with-webassembly-using-flutter-build-web-wasm/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-build-a-flutter-web-app-with-webassembly-using-flutter-build-web-wasm/</guid><description>Полное руководство по публикации веб-приложения Flutter, скомпилированного в WebAssembly, на Flutter 3.44: как выглядят две выпускаемые сборки, почему Firefox и Safari по-прежнему получают JavaScript из-за wasmAllowList в загрузчике, миграция с dart:html для dart2wasm, заголовки COOP/COEP, определяющие, работает ли skwasm в несколько потоков, и как в среде выполнения доказать, какую сборку реально загрузил браузер.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать параметры маршрутов Shell и query properties для навигации в .NET MAUI 11</title><link>https://startdebugging.net/ru/2026/07/how-to-use-shell-route-parameters-and-query-properties-in-dotnet-maui-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-use-shell-route-parameters-and-query-properties-in-dotnet-maui-11/</guid><description>Полное руководство по передаче данных при навигации Shell в .NET MAUI 11: регистрация глобальных маршрутов, строковые параметры запроса, QueryPropertyAttribute против IQueryAttributable, асимметрия URL-декодирования между ними, одноразовые ShellNavigationQueryParameters против перегрузки с IDictionary, которая удерживает объект в памяти, передача данных назад через ..?key=value и почему QueryPropertyAttribute небезопасен при обрезке.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Cursor Router превращает Auto в выбор модели для каждого запроса</title><link>https://startdebugging.net/ru/2026/07/cursor-router-makes-auto-a-per-request-model-decision/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/cursor-router-makes-auto-a-per-request-model-decision/</guid><description>Cursor Router вышел 2026-07-22. Auto теперь классифицирует каждый запрос и направляет его в разные модели, а режимы Cost, Balance и Intelligence меняют и качество результата, и способ тарификации.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как диагностировать утечку памяти в управляемой куче с помощью dotnet-gcdump и dotnet-dump</title><link>https://startdebugging.net/ru/2026/07/how-to-diagnose-a-managed-memory-leak-with-dotnet-gcdump-and-dotnet-dump/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-diagnose-a-managed-memory-leak-with-dotnet-gcdump-and-dotnet-dump/</guid><description>Полный рабочий процесс поиска утечки памяти в управляемой куче .NET 11: подтвердить рост через dotnet-counters, снять два gcdump и сравнить их, затем собрать дамп и с помощью dumpheap, gcroot и objsize в dotnet-dump analyze найти то, что до сих пор удерживает ссылку.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как опубликовать приложение .NET 11 как образ контейнера с помощью dotnet publish /t:PublishContainer</title><link>https://startdebugging.net/ru/2026/07/how-to-publish-a-dotnet-11-app-as-a-container-image-with-publishcontainer/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-publish-a-dotnet-11-app-as-a-container-image-with-publishcontainer/</guid><description>Полное руководство по сборке образов контейнеров из приложения .NET 11 без Dockerfile: цель PublishContainer, ContainerRepository и ContainerImageTags, выбор базового образа через ContainerBaseImage и ContainerFamily, отправка в реестр и как разрешается аутентификация, мультиархитектурные индексы образов OCI, пользователь без прав root по умолчанию, управление entrypoint, вывод в tarball для сканеров и случаи, когда Dockerfile всё же нужен.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как сериализовать полиморфную иерархию типов с JsonDerivedType в System.Text.Json</title><link>https://startdebugging.net/ru/2026/07/how-to-serialize-a-polymorphic-type-hierarchy-with-jsonderivedtype-in-system-text-json/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-serialize-a-polymorphic-type-hierarchy-with-jsonderivedtype-in-system-text-json/</guid><description>Полное руководство по полиморфному JSON в .NET 11: JsonDerivedType и JsonPolymorphic, почему всё решает объявленный тип, правило порядка $type, все исключения этой возможности, модель контрактов для чужих типов и то, что ASP.NET Core выдаёт в OpenAPI.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.219 снова разрешает вложенные субагенты, до трёх уровней</title><link>https://startdebugging.net/ru/2026/07/claude-code-2-1-219-nested-subagents-three-layers-deep/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-code-2-1-219-nested-subagents-three-layers-deep/</guid><description>Версия 2.1.219 поднимает глубину порождения субагентов по умолчанию с 1 до 3, добавляет ключ настроек workflowSizeGuideline и приносит сетевой allowlist, который блокирует по умолчанию.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить Aspire в существующее решение ASP.NET Core без его перестройки</title><link>https://startdebugging.net/ru/2026/07/how-to-add-aspire-to-an-existing-aspnetcore-solution-without-restructuring-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-add-aspire-to-an-existing-aspnetcore-solution-without-restructuring-it/</guid><description>Добавление Aspire 13.4 в унаследованное решение ASP.NET Core: два новых проекта и три строки на сервис. aspire init, связывание AppHost через AddProject и WithReference, сохранение существующих launchSettings.json и строк подключения, а также подводные камни с резилентностью, health-эндпоинтами и прокси в первый же день.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как тестировать зависящий от времени код с TimeProvider и FakeTimeProvider в .NET 11</title><link>https://startdebugging.net/ru/2026/07/how-to-test-time-dependent-code-with-timeprovider-and-faketimeprovider-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-test-time-dependent-code-with-timeprovider-and-faketimeprovider-in-dotnet-11/</guid><description>Замените DateTime.UtcNow, Stopwatch и Task.Delay на System.TimeProvider, чтобы тесты управляли часами: регистрация во внедрении зависимостей, FakeTimeProvider.Advance и SetUtcNow, тестирование таймаутов и BackgroundService на PeriodicTimer, а также подводные камни с продолжениями после Advance и с xUnit v2.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как писать интеграционные тесты с WebApplicationFactory&lt;T&gt; в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-write-integration-tests-with-webapplicationfactory-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-write-integration-tests-with-webapplicationfactory-in-aspnetcore-11/</guid><description>Полное руководство по WebApplicationFactory&lt;TEntryPoint&gt; в ASP.NET Core 11: как сделать точку входа Program доступной, ConfigureTestServices против ConfigureWebHost, замена регистрации EF Core через IDbContextOptionsConfiguration, новый хук ConfigureHostApplicationBuilder в .NET 11 preview 6, подделка аутентификации, WebApplicationFactoryClientOptions и UseKestrel, когда нужен настоящий порт.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Declarative Workflows 1.0 в Agent Framework: граф оркестрации теперь YAML-файл</title><link>https://startdebugging.net/ru/2026/07/agent-framework-declarative-workflows-1-0-yaml-orchestration/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/agent-framework-declarative-workflows-1-0-yaml-orchestration/</guid><description>Microsoft Agent Framework выпустил Declarative Workflows 1.0 2026-07-23. Python-пакет agent-framework-declarative 1.0.0 сравнялся с .NET-пакетом Microsoft.Agents.AI.Workflows.Declarative, поэтому маршрутизация между агентами живёт в YAML, а не в C#.</description><pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Перенос StatefulWidget с setState на Notifier из Riverpod во Flutter</title><link>https://startdebugging.net/ru/2026/07/migrate-a-setstate-statefulwidget-to-a-riverpod-notifier-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/migrate-a-setstate-statefulwidget-to-a-riverpod-notifier-in-flutter/</guid><description>Пошаговый переход от локального setState виджета к Notifier из Riverpod 3.x: как разделить состояние, написать Notifier, перейти на ConsumerWidget и пережить фильтрацию по ==, повторный вызов build() и разные значения autoDispose по умолчанию. Проверено на Flutter 3.44, Dart 3.x и flutter_riverpod 3.3.2.</description><pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Переход от блокирующих вызовов .Result/.Wait() к сквозной асинхронности в устаревшей кодовой базе на C#</title><link>https://startdebugging.net/ru/2026/07/migrate-from-blocking-result-and-wait-calls-to-async-all-the-way-up-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/migrate-from-blocking-result-and-wait-calls-to-async-all-the-way-up-in-csharp/</guid><description>Поэтапный план удаления sync-over-async из существующей кодовой базы .NET: инвентаризация анализаторами, измерение истощения ThreadPool, перевод по одной цепочке вызовов и доведение счётчика до нуля на .NET 11.</description><pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Переход от интерполяции строк в ILogger к шаблонам сообщений структурированного журналирования в .NET 11</title><link>https://startdebugging.net/ru/2026/07/migrate-from-ilogger-string-interpolation-to-message-templates-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/migrate-from-ilogger-string-interpolation-to-message-templates-in-dotnet-11/</guid><description>Пошаговое руководство по переводу вызовов ILogger с $-интерполяцией на шаблоны сообщений и методы, сгенерированные через [LoggerMessage], в .NET 11: что ломается, как пройтись по кодовой базе с CA2254, как проверить состояние JSON и как откатиться.</description><pubDate>Sat, 25 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Фильтры endpoint против middleware в ASP.NET Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/07/endpoint-filters-vs-middleware-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/endpoint-filters-vs-middleware-in-aspnetcore-11/</guid><description>Руководство по выбору для ASP.NET Core 11: middleware выполняется для каждого запроса до того, как ваш handler привяжет данные, фильтры endpoint выполняются только для совпавшей конечной точки, после привязки, и могут видеть типизированные аргументы. Включает сравнительную таблицу, сценарии выбора каждого варианта, правила порядка и детали, которые вынуждают выбор.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Миграция Swashbuckle IOperationFilter и ISchemaFilter на трансформеры OpenAPI в .NET 11</title><link>https://startdebugging.net/ru/2026/07/migrate-swashbuckle-ioperationfilter-and-ischemafilter-to-transformers-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/migrate-swashbuckle-ioperationfilter-and-ischemafilter-to-transformers-in-dotnet-11/</guid><description>Пофильтровый справочник по миграции для перевода кода IOperationFilter и ISchemaFilter из Swashbuckle на встроенные трансформеры операций и схем в .NET 11, с сопоставлением объектов контекста и изменениями Microsoft.OpenApi v2, которые ломают компиляцию.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>.Result vs .Wait() vs GetAwaiter().GetResult() vs await в C#: что использовать?</title><link>https://startdebugging.net/ru/2026/07/result-wait-vs-getawaiter-getresult-vs-await-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/result-wait-vs-getawaiter-getresult-vs-await-in-csharp/</guid><description>await -- правильный ответ почти всегда. Когда вам действительно нужно блокировать, GetAwaiter().GetResult() превосходит .Result и .Wait(), потому что выбрасывает исходное исключение. Матрица решений для .NET 11 и C# 14.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Клиенты SignalR наконец могут отменить выполняющийся метод хаба в .NET 11 Preview 6</title><link>https://startdebugging.net/ru/2026/07/signalr-client-cancel-hub-method-dotnet-11-preview-6/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/signalr-client-cancel-hub-method-dotnet-11-preview-6/</guid><description>Отмена CancellationToken, передаваемого в InvokeAsync, теперь доходит до сервера и отменяет метод хаба. Это закрывает запрос SignalR, открытый с 2019 года.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.218 запускает /code-review как фоновый субагент</title><link>https://startdebugging.net/ru/2026/07/claude-code-2-1-218-code-review-runs-as-a-background-subagent/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-code-2-1-218-code-review-runs-as-a-background-subagent/</guid><description>Версия 2.1.218 выносит /code-review из основного диалога в фоновый субагент, а skills с контекстом fork теперь по умолчанию выполняются в фоне. Вот что изменилось и как это отключить.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate></item><item><title>riverpod vs flutter_riverpod vs hooks_riverpod: какой пакет мне на самом деле нужен?</title><link>https://startdebugging.net/ru/2026/07/riverpod-vs-flutter-riverpod-vs-hooks-riverpod-which-package-do-i-need/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/riverpod-vs-flutter-riverpod-vs-hooks-riverpod-which-package-do-i-need/</guid><description>Устанавливайте flutter_riverpod почти для любого приложения Flutter. Используйте riverpod только для чистого кода на Dart, а hooks_riverpod только если вы уже используете flutter_hooks.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Typed results (Results&lt;&gt;) против IResult против IActionResult в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/typed-results-vs-iresult-vs-iactionresult-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/typed-results-vs-iresult-vs-iactionresult-in-aspnetcore-11/</guid><description>В ASP.NET Core 11 возвращайте Results&lt;T1, TN&gt; с TypedResults для minimal API и ActionResult&lt;T&gt; для контроллеров. Относитесь к голым IResult и IActionResult как к аварийным выходам: они компилируются для любого ответа, но ничего не сообщают OpenAPI, так что за них вы расплачиваетесь написанными вручную атрибутами ProducesResponseType.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate></item><item><title>WebApplication.CreateBuilder vs CreateSlimBuilder vs CreateEmptyBuilder в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/webapplication-createbuilder-vs-createslimbuilder-vs-createemptybuilder-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/webapplication-createbuilder-vs-createslimbuilder-vs-createemptybuilder-in-aspnetcore-11/</guid><description>Используйте CreateBuilder для обычного приложения, CreateSlimBuilder, когда публикуете с обрезкой или Native AOT за TLS-прокси, и CreateEmptyBuilder только тогда, когда хотите зарегистрировать все сервисы сами. Вот матрица возможностей и подводные камни, которые определяют выбор.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.213 вводит жёсткие ограничения на неконтролируемые флоты субагентов</title><link>https://startdebugging.net/ru/2026/07/claude-code-2-1-213-caps-runaway-subagent-fleets/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-code-2-1-213-caps-runaway-subagent-fleets/</guid><description>Версия 2.1.213 ограничивает число одновременных субагентов и по умолчанию запрещает вложенные запуски, дополняя ограничения на сессию из 2.1.212. Вот новые значения по умолчанию и переменные окружения.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Комплексные типы против владеемых сущностей в EF Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/07/complex-types-vs-owned-entities-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/complex-types-vs-owned-entities-in-ef-core-11/</guid><description>В EF Core 11 по умолчанию используйте комплексные типы для объектов-значений и переходите на владеемые сущности только тогда, когда вам нужна отдельная таблица или коллекция, отображённая на собственные строки.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Output caching против response caching в ASP.NET Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/07/output-caching-vs-response-caching-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/output-caching-vs-response-caching-in-aspnetcore-11/</guid><description>Output caching -- это правильный вариант по умолчанию почти для любого серверного приложения на ASP.NET Core 11. Response caching выигрывает только тогда, когда ваша цель -- управлять кешами браузеров и прокси через HTTP-заголовки. Вот это решение, с матрицей возможностей и подводными камнями, которые определяют выбор.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate></item><item><title>TPH vs TPT vs TPC для маппинга наследования в EF Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/07/tph-vs-tpt-vs-tpc-inheritance-mapping-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/tph-vs-tpt-vs-tpc-inheritance-mapping-in-ef-core-11/</guid><description>В EF Core 11 по умолчанию используйте TPH почти для любой иерархии, обращайтесь к TPC только когда вы преимущественно запрашиваете один листовой тип и бенчмарк доказывает его выигрыш, а TPT применяйте только когда к этому вынуждает внешнее ограничение.</description><pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: CS4014 &quot;Because this call is not awaited, execution of the current method continues&quot; в C#</title><link>https://startdebugging.net/ru/2026/07/fix-cs4014-because-this-call-is-not-awaited-execution-continues-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-cs4014-because-this-call-is-not-awaited-execution-continues-in-csharp/</guid><description>CS4014 означает, что вы вызвали метод, возвращающий Task, не ожидая его. Добавьте await или отбросьте через _ = при осознанном fire-and-forget и обработайте исключения.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: System.InvalidOperationException: Sequence contains no elements</title><link>https://startdebugging.net/ru/2026/07/fix-invalidoperationexception-sequence-contains-no-elements/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-invalidoperationexception-sequence-contains-no-elements/</guid><description>Это исключение означает, что вы вызвали .First() или .Single() на пустой последовательности. Используйте FirstOrDefault/SingleOrDefault с проверкой на null, защитите запрос или устраните причину пустоты источника.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: StreamProvider в Riverpod 3.0 перестаёт эмитить, потому что обновления фильтруются по ==</title><link>https://startdebugging.net/ru/2026/07/fix-riverpod-3-0-streamprovider-stops-emitting-filtered-by-equality/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-riverpod-3-0-streamprovider-stops-emitting-filtered-by-equality/</guid><description>В Riverpod 3.0 каждый провайдер фильтрует уведомления слушателей по ==, а не по идентичности. StreamProvider, который повторно эмитит один и тот же изменяемый объект, перестаёт перестраивать UI после первого кадра. Здесь разбирается, почему так происходит, и три способа исправить это. Проверено на flutter_riverpod 3.3.2, Flutter 3.44, Dart 3.x.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>System.Text.Json учится сериализовать union-типы C# в .NET 11 Preview 6</title><link>https://startdebugging.net/ru/2026/07/serialize-csharp-union-types-with-system-text-json-dotnet-11-preview-6/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/serialize-csharp-union-types-with-system-text-json-dotnet-11-preview-6/</guid><description>Как System.Text.Json в .NET 11 Preview 6 сериализует новые union-типы C#, записывая активный случай, и API JsonUnionAttribute и классификаторов типов, которые разрешают неоднозначные случаи.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Асинхронная валидация приходит в Minimal APIs в .NET 11 Preview 6</title><link>https://startdebugging.net/ru/2026/07/aspnetcore-11-async-validation-minimal-apis-preview-6/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/aspnetcore-11-async-validation-minimal-apis-preview-6/</guid><description>Preview 6 добавляет AsyncValidationAttribute и IAsyncValidatableObject, чтобы правила DataAnnotations могли обращаться к базе данных до запуска вашего endpoint, не блокируя поток.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: CS8618 &quot;Non-nullable property must contain a non-null value when exiting constructor&quot; в C#</title><link>https://startdebugging.net/ru/2026/07/fix-cs8618-non-nullable-property-must-contain-a-non-null-value-when-exiting-constructor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-cs8618-non-nullable-property-must-contain-a-non-null-value-when-exiting-constructor/</guid><description>CS8618 означает, что ссылочное поле или свойство, не допускающее null, не было инициализировано к моменту завершения конструктора. Присвойте его в конструкторе, задайте значение по умолчанию, пометьте required или сделайте допускающим null.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: взаимная блокировка при вызове .Result или .Wait() у async-метода в C#</title><link>https://startdebugging.net/ru/2026/07/fix-deadlock-when-calling-result-or-wait-on-an-async-method-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-deadlock-when-calling-result-or-wait-on-an-async-method-in-csharp/</guid><description>Блокировка async-Task через .Result или .Wait() приводит к взаимной блокировке при наличии SynchronizationContext. Здесь объясняется, почему происходит зависание и как это исправить в .NET 11 и C# 14.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как отключить автоматический повтор провайдеров в Riverpod 3.0</title><link>https://startdebugging.net/ru/2026/07/how-to-disable-riverpod-3-0-automatic-provider-retry/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-disable-riverpod-3-0-automatic-provider-retry/</guid><description>По умолчанию Riverpod 3.0 повторяет упавший провайдер до 10 раз. Передайте функцию retry, возвращающую null, в ProviderScope, ProviderContainer или отдельный провайдер, чтобы отключить повтор или ограничить его.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить endpoint health check в minimal API на ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-add-a-health-check-endpoint-to-a-minimal-api-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-add-a-health-check-endpoint-to-a-minimal-api-in-aspnetcore-11/</guid><description>Полное практическое руководство по health checks в minimal API на ASP.NET Core 11: AddHealthChecks и MapHealthChecks, собственные классы IHealthCheck, возвращающие Healthy/Degraded/Unhealthy, зонд EF Core AddDbContextCheck, эндпоинты liveness и readiness на основе тегов для Kubernetes, JSON ResponseWriter, ResultStatusCodes, защита эндпоинта через RequireAuthorization и RequireHost, а также отправка результатов через IHealthCheckPublisher.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить endpoint filter в minimal API в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-add-an-endpoint-filter-to-a-minimal-api-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-add-an-endpoint-filter-to-a-minimal-api-in-aspnetcore-11/</guid><description>Полное рабочее руководство по endpoint-фильтрам в minimal API ASP.NET Core 11: AddEndpointFilter со встроенным делегатом, классы IEndpointFilter с внедрением зависимостей, GetArgument и список Arguments, короткое замыкание через Results.Problem, порядок FIFO/FILO для нескольких фильтров, фильтры на уровне группы с MapGroup и AddEndpointFilterFactory для фильтров, зависящих от сигнатуры.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как логировать SQL, который генерирует EF Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-log-the-sql-that-ef-core-11-generates/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-log-the-sql-that-ef-core-11-generates/</guid><description>Смотрите точный SQL, который Entity Framework Core 11 отправляет в базу данных, вместе со значениями параметров, с помощью LogTo, Microsoft.Extensions.Logging и ToQueryString.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate></item><item><title>На мобильных платформах MAUI работает только на CoreCLR в .NET 11 Preview 6: аварийный выход через Mono закрыт</title><link>https://startdebugging.net/ru/2026/07/maui-coreclr-only-runtime-in-dotnet-11-preview-6/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/maui-coreclr-only-runtime-in-dotnet-11-preview-6/</guid><description>.NET 11 Preview 6 убирает отдельный путь Mono для MAUI на Android, iOS и Mac Catalyst. CoreCLR теперь единственная мобильная среда выполнения, аварийный выход UseMonoRuntime закрыт, а GA запланирован на ноябрь 2026 года.</description><pubDate>Sun, 19 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Индексаторы расширения в C# 15 завершают члены расширения в .NET 11 Preview 6</title><link>https://startdebugging.net/ru/2026/07/csharp-15-extension-indexers-dotnet-11-preview-6/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/csharp-15-extension-indexers-dotnet-11-preview-6/</guid><description>Индексаторы расширения появились в .NET 11 Preview 6 и позволяют добавлять доступ через this[...] к типам, которыми вы не владеете. Они завершают историю членов расширения, начатую методами и свойствами в C# 14.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: ScaffoldMessenger.of() был вызван с контекстом, который не содержит Scaffold (Flutter)</title><link>https://startdebugging.net/ru/2026/07/fix-scaffoldmessenger-of-context-does-not-contain-a-scaffold-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-scaffoldmessenger-of-context-does-not-contain-a-scaffold-in-flutter/</guid><description>Эта ошибка означает, что переданный BuildContext находится выше Scaffold или ScaffoldMessenger, а не ниже. Оберните вызов в Builder, вынесите его в отдельный виджет или используйте GlobalKey.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: type &apos;Null&apos; is not a subtype of type &apos;X&apos; в Dart</title><link>https://startdebugging.net/ru/2026/07/fix-type-null-is-not-a-subtype-of-type-in-dart/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-type-null-is-not-a-subtype-of-type-in-dart/</guid><description>Эта ошибка времени выполнения означает, что null попал в приведение, ожидавшее тип, не допускающий null, почти всегда из JSON. Сделайте поле допускающим null или задайте значение по умолчанию до приведения.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core 11 Preview 6 включает автоматическую защиту от CSRF</title><link>https://startdebugging.net/ru/2026/07/aspnetcore-11-automatic-csrf-protection-fetch-metadata-preview-6/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/aspnetcore-11-automatic-csrf-protection-fetch-metadata-preview-6/</guid><description>Preview 6 по умолчанию отклоняет небезопасные межсайтовые запросы браузера, читая заголовок Sec-Fetch-Site вместо токена antiforgery. Вот что она блокирует и как исключить конечные точки.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: &quot;413 Request Entity Too Large&quot; при загрузке файла на endpoint ASP.NET Core</title><link>https://startdebugging.net/ru/2026/07/fix-413-request-entity-too-large-uploading-a-file-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-413-request-entity-too-large-uploading-a-file-in-aspnetcore-11/</guid><description>Kestrel по умолчанию ограничивает тело запроса 30 000 000 байтами и возвращает 413 при превышении. Увеличьте MaxRequestBodySize глобально, для endpoint или в web.config за IIS.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: System.InvalidOperationException: Headers are read-only, response has already started</title><link>https://startdebugging.net/ru/2026/07/fix-headers-are-read-only-response-has-already-started-in-aspnetcore/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-headers-are-read-only-response-has-already-started-in-aspnetcore/</guid><description>Вы задали заголовок, код состояния или content type после того, как тело уже было сброшено. Задавайте все заголовки до первой записи или защищайтесь через HttpResponse.HasStarted и OnStarting.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: &quot;The property could not be mapped, because it is not a supported primitive type or a valid entity type&quot; в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/fix-property-could-not-be-mapped-not-a-supported-primitive-type-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-property-could-not-be-mapped-not-a-supported-primitive-type-in-ef-core-11/</guid><description>EF Core наткнулся на свойство, которое не знает, как хранить. Сопоставьте его как комплексный тип, преобразуйте через HasConversion, задайте ему ключ или исключите через [NotMapped].</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.208 позволяет переназначить jj на Escape в режиме вставки vim</title><link>https://startdebugging.net/ru/2026/07/claude-code-2-1-208-vim-insert-mode-remaps-jj-to-escape/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-code-2-1-208-vim-insert-mode-remaps-jj-to-escape/</guid><description>Claude Code 2.1.208 (14 июля 2026) добавляет vimInsertModeRemaps, чтобы пользователи vim могли назначать двухклавишные последовательности режима вставки, такие как jj, на Escape в редакторе промптов. Плюс режим программы чтения с экрана и корпоративный wrapper процессов.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить анимацию Hero между двумя экранами в Flutter</title><link>https://startdebugging.net/ru/2026/07/how-to-add-a-hero-animation-between-two-screens-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-add-a-hero-animation-between-two-screens-in-flutter/</guid><description>Оберните один и тот же виджет на обеих маршрутах в Hero с идентичным tag, и Flutter анимирует его положение и размер во время навигации. Полное руководство: изображения, flightShuttleBuilder, createRectTween, дуги RectTween, переходы по жесту и коллизии tag, которые всё ломают. Проверено на Flutter 3.44, Dart 3.12.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить сжатие ответов в API на ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-add-response-compression-to-an-aspnetcore-11-api/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-add-response-compression-to-an-aspnetcore-11-api/</guid><description>Полное руководство по сжатию ответов в ASP.NET Core 11: AddResponseCompression и UseResponseCompression, новый встроенный провайдер Zstandard рядом с Brotli и Gzip, уровни сжатия, EnableForHttps и риск CRIME/BREACH, пользовательские MIME-типы, порядок middleware и когда стоит доверить это обратному прокси.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как вернуть типизированное объединение Results&lt;T1, T2&gt; из эндпоинта minimal API в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-return-a-typed-results-union-from-a-minimal-api-endpoint-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-return-a-typed-results-union-from-a-minimal-api-endpoint-in-aspnetcore-11/</guid><description>Объявите тип возврата обработчика как Results&lt;Ok&lt;T&gt;, NotFound&gt; и возвращайте TypedResults.Ok / TypedResults.NotFound: объединение даёт проверку на этапе компиляции того, что обработчик возвращает только то, что объявляет, и само описывает себя для OpenAPI, так что вам никогда не придётся писать .Produces вручную. Рассматриваются асинхронные обработчики, ограничение в шесть типов и тестирование в ASP.NET Core 11.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Автоматический режим Claude Code теперь ловит rm -rf с пустой переменной</title><link>https://startdebugging.net/ru/2026/07/claude-code-auto-mode-guards-empty-variable-rm-rf/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-code-auto-mode-guards-empty-variable-rm-rf/</guid><description>Релизы 28-й недели Claude Code (v2.1.202-v2.1.206, с 6 по 10 июля 2026 года) учат автоматический режим останавливаться перед rm -rf, путь которого получен из переменной, развернувшейся в ничто, закрывая классическую ловушку rm -rf /.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как отменить StreamSubscription в dispose, чтобы избежать сбоя setState-после-dispose во Flutter</title><link>https://startdebugging.net/ru/2026/07/how-to-cancel-a-streamsubscription-in-dispose-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-cancel-a-streamsubscription-in-dispose-in-flutter/</guid><description>Stream продолжает эмитить события после того, как пользователь покинул экран, его onData вызывает setState на уже уничтоженном State, и Flutter выбрасывает исключение. Сохраните подписку, отмените её в dispose перед super.dispose, и колбэк уже никогда не сработает на мёртвом виджете. Полный паттерн для Flutter 3.44.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить наследование по стратегии таблица на иерархию (TPH) в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-configure-table-per-hierarchy-tph-inheritance-mapping-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-configure-table-per-hierarchy-tph-inheritance-mapping-in-ef-core-11/</guid><description>TPH -- стратегия наследования по умолчанию в EF Core: одна таблица, один столбец-дискриминатор. Как настроить дискриминатор, разделять столбцы, обрабатывать nullable-свойства производных типов и обойти подводные камни в EF Core 11.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как защитить setState проверкой mounted после асинхронного разрыва во Flutter</title><link>https://startdebugging.net/ru/2026/07/how-to-guard-setstate-with-the-mounted-check-after-an-async-gap-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-guard-setstate-with-the-mounted-check-after-an-async-gap-in-flutter/</guid><description>После await виджет может быть уже уничтожен, и вызов setState бросает исключение. Защитите возобновление через if (!mounted) return; и, что лучше, отмените работу, которая его запускает. Полный паттерн для Flutter 3.44.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Side-chaty v Cursor 3.11: otvetvit vopros, ne sbivaya s kursa osnovnogo agenta</title><link>https://startdebugging.net/ru/2026/07/cursor-3-11-side-chats-parallel-agent-threads/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/cursor-3-11-side-chats-parallel-agent-threads/</guid><description>Cursor 3.11 (10 iyulya 2026 goda) dobavlyaet side-chaty: postoyannye parallelnye tsepochki agenta, kotorye vy otkryvaete komandami /side ili /btw i vozvrashchaete v osnovnoy razgovor cherez upominanie. Plyus poisk po transkriptam cherez Cmd+K i novye khuki oblachnykh agentov.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить кеширование выходных данных в minimal API на ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-add-output-caching-to-a-minimal-api-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-add-output-caching-to-a-minimal-api-in-aspnetcore-11/</guid><description>Полное рабочее руководство по кешированию выходных данных в minimal API на ASP.NET Core 11: AddOutputCache и UseOutputCache, CacheOutput на конечных точках и MapGroup, именованные и базовые политики, Expire, VaryByQuery и VaryByHeader, вытеснение по тегам с EvictByTagAsync, защита от cache stampede, повторная валидация через ETag и хранилище на Redis.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить документ OpenAPI с помощью AddOperationTransformer и AddSchemaTransformer в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-customize-openapi-with-operation-and-schema-transformers-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-customize-openapi-with-operation-and-schema-transformers-in-aspnetcore-11/</guid><description>Подробный разбор встроенного конвейера трансформеров OpenAPI в .NET 11: трансформеры операций и схем, объекты контекста, порядок выполнения, трансформеры, активируемые через DI, а также рецепты для заголовков, ответов, примеров и точечных изменений свойств.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как отобразить составной тип вместо owned-сущности в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-map-a-complex-type-instead-of-an-owned-entity-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-map-a-complex-type-instead-of-an-owned-entity-in-ef-core-11/</guid><description>Owned-сущности несут скрытый ключ и ссылочную идентичность, которые противоречат объектам-значениям. Вот как отобразить объект-значение как составной тип в EF Core 11, когда стоит переходить и какие есть подводные камни.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 Runtime Async отказывается от флага EnablePreviewFeatures</title><link>https://startdebugging.net/ru/2026/07/dotnet-11-runtime-async-no-longer-needs-enablepreviewfeatures/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/dotnet-11-runtime-async-no-longer-needs-enablepreviewfeatures/</guid><description>По мере того как предварительные версии .NET 11 приближаются к ноябрьскому выпуску, Runtime Async повзрослел: проекты net11.0 включают его одним свойством MSBuild, а сами библиотеки среды выполнения теперь компилируются с ним.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Что такое PGO в .NET и нужно ли его включать?</title><link>https://startdebugging.net/ru/2026/07/what-is-pgo-in-dotnet-and-do-i-need-to-opt-in/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/what-is-pgo-in-dotnet-and-do-i-need-to-opt-in/</guid><description>PGO (оптимизация на основе профиля) позволяет JIT-компилятору .NET специализировать горячий код под типы и ветви, которые действительно встречаются в вашей нагрузке. Dynamic PGO включён по умолчанию начиная с .NET 8, поэтому в .NET 8 и более поздних версиях включать его не нужно. Вот что он делает, как увидеть его эффект и те редкие случаи, когда стоит тронуть настройку.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Что такое многоуровневая компиляция и как о ней рассуждать?</title><link>https://startdebugging.net/ru/2026/07/what-is-tiered-compilation-and-how-do-i-reason-about-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/what-is-tiered-compilation-and-how-do-i-reason-about-it/</guid><description>Многоуровневая компиляция позволяет JIT в .NET компилировать каждый метод дважды: сначала быстро и без оптимизаций, чтобы приложение запустилось, а затем ещё раз с полными оптимизациями, когда среда выполнения узнаёт, что метод горячий. Здесь показано, как tier 0, tier 1, замена на стеке и Dynamic PGO складываются вместе, и как их наблюдать и настраивать.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Агент модернизации .NET теперь работает в CLI Copilot, а не только в Visual Studio</title><link>https://startdebugging.net/ru/2026/07/modernize-dotnet-anywhere-github-copilot-cli-plugin/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/modernize-dotnet-anywhere-github-copilot-cli-plugin/</guid><description>Агент modernize-dotnet от GitHub Copilot вышел как переносимый плагин 2026-07-09. Теперь он работает в VS Code, в CLI Copilot и на GitHub, с процессом оценить, спланировать и выполнить, артефакты которого фиксируются в вашем репозитории для проверки.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>В чём разница между dotnet build и dotnet publish?</title><link>https://startdebugging.net/ru/2026/07/what-is-the-difference-between-dotnet-build-and-dotnet-publish/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/what-is-the-difference-between-dotnet-build-and-dotnet-publish/</guid><description>dotnet build компилирует проект для внутреннего цикла разработки и по умолчанию использует Debug. dotnet publish запускает target Publish в MSBuild, по умолчанию использует Release для net8.0 и более поздних версий и упаковывает готовую к развёртыванию папку с уже обработанными веб-ресурсами, автономными средами выполнения, одним файлом, обрезкой и AOT. Здесь ровно то, что производит каждая команда и когда её применять.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Что такое контракт IHostedService и когда его использовать?</title><link>https://startdebugging.net/ru/2026/07/what-is-the-ihostedservice-contract-and-when-do-i-use-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/what-is-the-ihostedservice-contract-and-when-do-i-use-it/</guid><description>IHostedService -- это интерфейс из двух методов (StartAsync/StopAsync), которые универсальный хост .NET вызывает при запуске и корректном завершении. Вот что гарантирует контракт, когда реализовывать его напрямую и какие изменения поведения в .NET 10 и 11 застают людей врасплох.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>В чём разница между dotnet watch и dotnet run?</title><link>https://startdebugging.net/ru/2026/07/what-is-the-difference-between-dotnet-watch-and-dotnet-run/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/what-is-the-difference-between-dotnet-watch-and-dotnet-run/</guid><description>dotnet run один раз собирает ваш проект и запускает его. dotnet watch оборачивает dotnet run в наблюдатель за файлами: он перезапускает приложение или применяет hot reload каждый раз, когда вы сохраняете исходный файл. Вот что именно делает каждая команда, что задаёт dotnet watch, чего не задаёт dotnet run, и когда какую выбирать.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Миграция minimal API с ручных проверок валидации на встроенную валидацию в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/migrate-a-minimal-api-from-manual-validation-to-built-in-validation-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/migrate-a-minimal-api-from-manual-validation-to-built-in-validation-in-aspnetcore-11/</guid><description>Пошаговое руководство по замене написанных вручную if-проверок в обработчиках minimal API на ASP.NET Core 11 встроенным валидатором на основе DataAnnotations и генерации исходного кода: что ломается, какие ручные правила переносятся, а какие нет, и как убедиться, что контракт 400 ProblemDetails остаётся прежним.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Переход с Riverpod 2.x на Riverpod 3.0 во Flutter</title><link>https://startdebugging.net/ru/2026/07/migrate-from-riverpod-2-x-to-riverpod-3-0-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/migrate-from-riverpod-2-x-to-riverpod-3-0-in-flutter/</guid><description>Пошаговое обновление с flutter_riverpod 2.x до 3.x: поднимите версии пакетов, перенесите StateProvider и его собратьев в legacy-импорт, откажитесь от ref-типов AutoDispose и Family, обработайте оборачивание в ProviderException и автоматический повтор, а также исправьте фильтрацию уведомлений по ==, которая молча теряет события StreamProvider. Проверено на Flutter 3.44, Dart 3.x, flutter_riverpod 3.3.2.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>VS Code 1.128 добавляет agent-host сессии Claude с несколькими чатами</title><link>https://startdebugging.net/ru/2026/07/vscode-1-128-multi-chat-claude-agent-host-sessions/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/vscode-1-128-multi-chat-claude-agent-host-sessions/</guid><description>VS Code 1.128 (8 июля 2026) позволяет одной agent-host сессии Claude держать несколько параллельных чатов, у каждого свой журнал, заголовок и модель. Вот что на самом деле открывает chat.agentHost.enabled и как сюда встраиваются quick chat и BYOK.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Что такое trim-safe код и как его писать?</title><link>https://startdebugging.net/ru/2026/07/what-is-trim-safe-code-and-how-do-i-write-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/what-is-trim-safe-code-and-how-do-i-write-it/</guid><description>Trim-safe код -- это код, который триммер .NET может статически доказать как достижимый, поэтому он выживает при удалении неиспользуемого кода из self-contained приложения. Это практическое руководство: включите анализатор, доведите каждое предупреждение IL2xxx до нуля, аннотируйте рефлексию с помощью DynamicallyAccessedMembers, распространите RequiresUnreferencedCode на публичные API и замените неанализируемые паттерны генераторами исходного кода.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Claude Sonnet 5 стал новой моделью по умолчанию в Claude Code: пересчитайте свои бюджеты токенов</title><link>https://startdebugging.net/ru/2026/07/claude-sonnet-5-claude-code-default-new-tokenizer-token-budgets/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-sonnet-5-claude-code-default-new-tokenizer-token-budgets/</guid><description>Claude Sonnet 5 (claude-sonnet-5) вышел 2026-06-30 и теперь стоит за алиасом &apos;sonnet&apos; в Claude Code. Его новый токенизатор выдаёт примерно на 30% больше токенов для того же текста, поэтому оценки стоимости и лимиты max_tokens, настроенные под Sonnet 4.6, требуют пересчёта.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Миграция сидинга с HasData на UseAsyncSeeding в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/migrate-from-hasdata-seeding-to-useasyncseeding-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/migrate-from-hasdata-seeding-to-useasyncseeding-in-ef-core-11/</guid><description>Пошаговое руководство по переносу данных сида с HasData на UseSeeding и UseAsyncSeeding в EF Core 11, включая ловушку миграции DeleteData, которая удаляет ваши существующие строки, если вы её пропустите.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Flutter 3.44: чтение физического радиуса углов экрана из MediaQuery</title><link>https://startdebugging.net/ru/2026/07/flutter-3-44-read-the-screen-corner-radius-from-mediaquery/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/flutter-3-44-read-the-screen-corner-radius-from-mediaquery/</guid><description>Flutter 3.44 предоставляет скруглённые углы устройства через MediaQuery.displayCornerRadiiOf. Хватит угадывать волшебный радиус: обрезайте UI по точной кривой оборудования на Android API 31+.</description><pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate></item><item><title>go_router против auto_route против Navigator 2.0 во Flutter</title><link>https://startdebugging.net/ru/2026/07/go-router-vs-auto-route-vs-navigator-2-0-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/go-router-vs-auto-route-vs-navigator-2-0-in-flutter/</guid><description>go_router и auto_route оба работают поверх Navigator 2.0, поэтому реальный выбор -- это декларативная маршрутизация по URL против типизированных маршрутов на основе кодогенерации против ручной реализации Router API. Матрица решения с конфигурацией для каждого варианта и случаи, когда чистый Navigator всё ещё выигрывает.</description><pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Именованные фильтры запросов vs один глобальный фильтр запросов в EF Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/07/named-query-filters-vs-a-single-global-query-filter-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/named-query-filters-vs-a-single-global-query-filter-in-ef-core-11/</guid><description>Оба варианта генерируют одинаковый SQL. Прибегайте к именованным фильтрам только тогда, когда нужно отключить один предикат независимо; один комбинированный фильтр проще для единственной задачи в EF Core 11.</description><pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate></item><item><title>shrinkWrap vs Expanded vs sliver-ы для длинных списков в Flutter: что выбрать?</title><link>https://startdebugging.net/ru/2026/07/shrinkwrap-vs-expanded-vs-slivers-for-long-lists-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/shrinkwrap-vs-expanded-vs-slivers-for-long-lists-in-flutter/</guid><description>Для длинного списка никогда не используйте shrinkWrap. Используйте Expanded, когда список является единственным прокручиваемым элементом, и sliver-ы (CustomScrollView), когда он делит прокрутку с другими секциями. Вот почему, с бенчмарком по числу build-ов.</description><pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.198 по умолчанию запускает субагентов в фоне</title><link>https://startdebugging.net/ru/2026/07/claude-code-2-1-198-subagents-run-in-the-background-by-default/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-code-2-1-198-subagents-run-in-the-background-by-default/</guid><description>Claude Code v2.1.198 (2026-07-01) по умолчанию переводит субагентов на фоновое выполнение, так что главный агент продолжает работать, пока они выполняются, а фоновые агенты, которые правят код, теперь автоматически делают commit, push и открывают draft PR по завершении.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: &quot;415 Unsupported Media Type&quot; от endpoint минимального API в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/fix-415-unsupported-media-type-from-a-minimal-api-endpoint-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-415-unsupported-media-type-from-a-minimal-api-endpoint-in-aspnetcore-11/</guid><description>Минимальный API возвращает 415, когда Content-Type запроса не совпадает с тем, что связывает endpoint. Отправьте Content-Type: application/json для типа, связанного с телом, или используйте [FromForm] для форм и загрузки файлов.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: CS9035 &quot;Required member &apos;X&apos; must be set in the object initializer&quot; в C#</title><link>https://startdebugging.net/ru/2026/07/fix-cs9035-required-member-must-be-set-in-the-object-initializer/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-cs9035-required-member-must-be-set-in-the-object-initializer/</guid><description>CS9035 означает, что член, помеченный как required, не был присвоен. Присвойте его в инициализаторе объекта или добавьте конструктор с [SetsRequiredMembers], который присваивает каждый член required.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Riverpod 3.0 бросает ProviderException вместо исходной ошибки</title><link>https://startdebugging.net/ru/2026/07/fix-riverpod-3-0-throws-providerexception-instead-of-the-original-error/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-riverpod-3-0-throws-providerexception-instead-of-the-original-error/</guid><description>Riverpod 3.0 оборачивает ошибки, брошенные при чтении провайдера, в ProviderException. Поймайте этот тип и прочитайте e.exception, чтобы получить исходную ошибку обратно, или используйте AsyncValue.error, который не обёрнут.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Dot shorthands в Dart 3.12: убираем имя типа из кода Flutter</title><link>https://startdebugging.net/ru/2026/07/dart-dot-shorthands-drop-the-type-name-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/dart-dot-shorthands-drop-the-type-name-in-flutter/</guid><description>Dot shorthands стали стабильными в Dart 3.12.2. Пишите .center или .new и позвольте компилятору вывести тип из контекста. Вот как это работает с enum, статическими членами и конструкторами.</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Cannot provide both a color and a decoration в Container во Flutter</title><link>https://startdebugging.net/ru/2026/07/fix-cannot-provide-both-a-color-and-a-decoration-in-a-flutter-container/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-cannot-provide-both-a-color-and-a-decoration-in-a-flutter-container/</guid><description>Перенесите цвет внутрь decoration: используйте decoration: BoxDecoration(color: ...) вместо передачи color и decoration в один и тот же Container.</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Incorrect use of ParentDataWidget. Expanded widgets must be placed inside Flex widgets (Flutter)</title><link>https://startdebugging.net/ru/2026/07/fix-incorrect-use-of-parentdatawidget-expanded-must-be-inside-flex-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-incorrect-use-of-parentdatawidget-expanded-must-be-inside-flex-in-flutter/</guid><description>Эта ошибка означает, что Expanded или Flexible не является прямым потомком Row, Column или Flex. Переместите его непосредственно под flex-виджет или уберите Expanded, если родитель не flex.</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: A RenderViewport expected a child of type RenderSliver but received a child of type RenderBox (Flutter CustomScrollView)</title><link>https://startdebugging.net/ru/2026/07/fix-renderviewport-expected-a-rendersliver-in-a-flutter-customscrollview/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-renderviewport-expected-a-rendersliver-in-a-flutter-customscrollview/</guid><description>Список slivers у CustomScrollView принимает только слайверы. Оберните box-виджеты в SliverToBoxAdapter или замените ListView/Padding/Column на SliverList и SliverPadding.</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.200 переименовывает режим разрешений по умолчанию в Manual</title><link>https://startdebugging.net/ru/2026/07/claude-code-2-1-200-renames-default-permission-mode-to-manual/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/claude-code-2-1-200-renames-default-permission-mode-to-manual/</guid><description>Claude Code v2.1.200 (3 июля 2026) переименовывает режим разрешений &apos;default&apos; в &apos;Manual&apos; в CLI, VS Code и JetBrains и прекращает автоматическое продолжение диалогов AskUserQuestion. Значение в конфигурации остаётся &apos;default&apos;, а &apos;manual&apos; принимается как псевдоним.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Решение: &quot;The LINQ expression could not be translated&quot; в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/fix-the-linq-expression-could-not-be-translated-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-the-linq-expression-could-not-be-translated-in-ef-core-11/</guid><description>EF Core 11 выбрасывает это, когда Where или OrderBy вызывает метод, который нельзя преобразовать в SQL. Перепишите предикат с помощью транслируемых операторов или сначала загрузите данные на клиент через AsEnumerable.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: &quot;The required column &apos;X&apos; was not present in the results of a &apos;FromSql&apos; operation&quot; в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/fix-the-required-column-was-not-present-in-the-results-of-a-fromsql-operation-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/fix-the-required-column-was-not-present-in-the-results-of-a-fromsql-operation-in-ef-core-11/</guid><description>EF Core выбрасывает это, когда ваш сырой SQL не возвращает все столбцы, на которые мапится сущность, или имена не совпадают. Верните все сопоставленные столбцы с совпадающими именами или запросите скалярный либо бесключевой тип.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как проверять Ref.mounted после асинхронного разрыва во Flutter Riverpod 3</title><link>https://startdebugging.net/ru/2026/07/how-to-check-ref-mounted-after-an-async-gap-in-flutter-riverpod-3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-check-ref-mounted-after-an-async-gap-in-flutter-riverpod-3/</guid><description>В Notifier сначала получите зависимости до await, а затем защитите запись в state с помощью if (!ref.mounted) return. Это замена в Riverpod 3.0 для старого миксина с onDispose, которая предотвращает UnmountedRefException, когда provider уничтожается посреди await. Проверено на flutter_riverpod 3.x, Flutter 3.44, Dart 3.x.</description><pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate></item><item><title>DuneSlide: две ошибки Cursor, превращающие инъекцию промптов в RCE без клика</title><link>https://startdebugging.net/ru/2026/07/cursor-duneslide-prompt-injection-sandbox-escape-rce/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/cursor-duneslide-prompt-injection-sandbox-escape-rce/</guid><description>Cato AI Labs раскрыла CVE-2026-50548 и CVE-2026-50549, пару уязвимостей с оценкой CVSS 9.8 в терминальной песочнице Cursor. Отравленный ответ MCP или результат веб-поиска может выйти из песочницы и выполнить код. Исправление в Cursor 3.0.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить ответы об ошибках валидации в minimal API с помощью IProblemDetailsService в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-customize-minimal-api-validation-error-responses-with-iproblemdetailsservice-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-customize-minimal-api-validation-error-responses-with-iproblemdetailsservice-in-aspnetcore-11/</guid><description>Вызовите AddProblemDetails с колбэком CustomizeProblemDetails, чтобы изменить форму ответа 400, который встроенная валидация minimal API возвращает в ASP.NET Core 11: добавьте traceId, перепишите title, замените 400 на 422 или получите полный контроль с помощью собственного IProblemDetailsWriter.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить JWT bearer-аутентификацию в minimal API в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-set-up-jwt-bearer-authentication-in-a-minimal-api-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-set-up-jwt-bearer-authentication-in-a-minimal-api-in-aspnetcore-11/</guid><description>Полная рабочая настройка JWT bearer-аутентификации в minimal API в ASP.NET Core 11: установить пакет, подключить AddAuthentication().AddJwtBearer(), выпустить токен, защитить endpoint через RequireAuthorization, добавить политики ролей и claim, и протестировать всё это с помощью dotnet user-jwts.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать именованные фильтры запросов для мягкого удаления и мультитенантности в EF Core 11</title><link>https://startdebugging.net/ru/2026/07/how-to-use-named-query-filters-for-soft-delete-and-multi-tenancy-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-use-named-query-filters-for-soft-delete-and-multi-tenancy-in-ef-core-11/</guid><description>Примените два независимых глобальных фильтра запросов к одной сущности в EF Core 11: фильтр мягкого удаления и фильтр тенанта, каждый с именем, чтобы можно было отключить один без другого через IgnoreQueryFilters.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как объединить ListView и GridView в одной прокрутке с помощью sliver-ов во Flutter</title><link>https://startdebugging.net/ru/2026/07/how-to-mix-a-listview-and-a-gridview-in-one-scroll-view-with-slivers-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-mix-a-listview-and-a-gridview-in-one-scroll-view-with-slivers-in-flutter/</guid><description>Разместите список и сетку в одной непрерывной прокрутке без вложенных прокручиваемых виджетов. Используйте CustomScrollView со SliverList и SliverGrid и обойдите ловушку shrinkWrap, которая незаметно убивает производительность.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как вложить ListView внутрь Column во Flutter без ошибки неограниченной высоты</title><link>https://startdebugging.net/ru/2026/07/how-to-nest-a-listview-inside-a-column-in-flutter-without-an-unbounded-height-error/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-nest-a-listview-inside-a-column-in-flutter-without-an-unbounded-height-error/</guid><description>Почему ListView внутри Column выбрасывает &apos;Vertical viewport was given unbounded height&apos;, и четыре решения (Expanded, Flexible, shrinkWrap, SizedBox) с компромиссами по производительности, которые определяют, какое вам нужно.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Запускайте Binlog MCP Server в CI для автоматической диагностики ошибок сборки</title><link>https://startdebugging.net/ru/2026/07/run-the-binlog-mcp-server-in-ci-to-auto-triage-build-failures/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/run-the-binlog-mcp-server-in-ci-to-auto-triage-build-failures/</guid><description>2026-06-30 Microsoft показала Binlog MCP Server, работающий без надзора в GitHub Agentic Workflow, чтобы агент читал .binlog и комментировал первопричину, как только сборка в CI падает.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как реализовать и использовать IAsyncDisposable с await using в C#</title><link>https://startdebugging.net/ru/2026/07/how-to-implement-and-consume-iasyncdisposable-with-await-using-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-implement-and-consume-iasyncdisposable-with-await-using-in-csharp/</guid><description>Полное руководство по IAsyncDisposable в C#: когда применять await using, как правильно писать DisposeAsync и DisposeAsyncCore, и какие детали со стекированием и ConfigureAwait приводят к утечке ресурсов.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Как пробросить CancellationToken через асинхронные методы в .NET 11</title><link>https://startdebugging.net/ru/2026/07/how-to-propagate-a-cancellationtoken-through-async-methods-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-propagate-a-cancellationtoken-through-async-methods-in-dotnet-11/</guid><description>Проведите CancellationToken чисто через каждый слой асинхронной цепочки вызовов в .NET 11: соглашение о последнем параметре, значения по умолчанию, связанные токены, RequestAborted в ASP.NET Core и анализатор CA2016, который находит забытые.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Ограничение времени выполнения асинхронной операции с помощью CancellationTokenSource.CancelAfter в C#</title><link>https://startdebugging.net/ru/2026/07/how-to-time-out-an-async-operation-with-cancellationtokensource-cancelafter-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/how-to-time-out-an-async-operation-with-cancellationtokensource-cancelafter-in-csharp/</guid><description>Используйте CancellationTokenSource.CancelAfter для задания дедлайна асинхронных операций в .NET 11: конструктор против CancelAfter, связанные токены, обработка исключений, Task.WaitAsync, TryReset для пула объектов и тестируемые тайм-ауты с TimeProvider.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>SkiaSharp 4.0 выходит стабильной: рендеринг на GPU на 24% быстрее и очищенный API</title><link>https://startdebugging.net/ru/2026/07/skiasharp-4-0-stable-release-faster-gpu-rendering/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/07/skiasharp-4-0-stable-release-faster-gpu-rendering/</guid><description>SkiaSharp 4.148.0 - это первый стабильный релиз v4. Интерфейсы с нагрузкой на GPU рендерятся до 24% быстрее, шейдеры на CPU работают примерно в 6 раз быстрее, а устаревшая поверхность API наконец удалена. Вот во что реально обходится обновление.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>HasData vs UseSeeding для заполнения данных в EF Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/06/hasdata-vs-useseeding-for-seeding-data-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/hasdata-vs-useseeding-for-seeding-data-in-ef-core-11/</guid><description>Используйте HasData только для фиксированных справочных данных, принадлежащих модели. Для всего остального в EF Core 11 используйте UseSeeding и UseAsyncSeeding. Сравнение бок о бок с правилами, которые предопределяют решение.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.191 позволяет /rewind возвращаться за пределы /clear</title><link>https://startdebugging.net/ru/2026/06/claude-code-2-1-191-rewind-past-clear/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/claude-code-2-1-191-rewind-past-clear/</guid><description>Claude Code v2.1.191 (24 июня 2026) расширяет /rewind, позволяя восстанавливать состояние беседы и кода из момента до выполнения /clear, возвращая контекст, который раньше терялся навсегда.</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: FOREIGN KEY constraint failed при удалении сущности в EF Core 11</title><link>https://startdebugging.net/ru/2026/06/fix-foreign-key-constraint-failed-when-deleting-an-entity-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-foreign-key-constraint-failed-when-deleting-an-entity-in-ef-core-11/</guid><description>EF Core выбрасывает FOREIGN KEY constraint failed, потому что у родителя ещё есть зависимые строки, которые база данных отказывается оставлять сиротами. Загрузите дочерние записи, сделайте связь необязательной или настройте OnDelete.</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: No service for type &apos;Microsoft.EntityFrameworkCore.DbContextOptions&apos; has been registered</title><link>https://startdebugging.net/ru/2026/06/fix-no-service-for-type-dbcontextoptions-has-been-registered/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-no-service-for-type-dbcontextoptions-has-been-registered/</guid><description>EF Core выбрасывает это, когда AddDbContext не вызывался, вызван после Build или конструктор контекста принимает не тот DbContextOptions. Регистрируйте до Build и используйте DbContextOptions&lt;ВашКонтекст&gt;.</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate></item><item><title>JWT или cookie-аутентификация в ASP.NET Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/06/jwt-vs-cookie-authentication-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/jwt-vs-cookie-authentication-in-aspnetcore-11/</guid><description>Используйте cookie-аутентификацию для любого приложения, где единственным клиентом является браузер, а bearer-токены JWT приберегите для API, которые вызывают мобильные приложения, другие сервисы или сторонние клиенты. Вот полная матрица для принятия решения.</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.187 не дает песочнице читать ваши ключи AWS</title><link>https://startdebugging.net/ru/2026/06/claude-code-sandbox-credentials-block-secrets-from-bash/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/claude-code-sandbox-credentials-block-secrets-from-bash/</guid><description>Новая настройка sandbox.credentials в Claude Code v2.1.187 запрещает чтение файлов с учетными данными и сбрасывает секретные переменные окружения перед запуском команд Bash в песочнице. Почему стандартная политика чтения была дырой и как ее закрыть.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: 405 Method Not Allowed вместо 401 при использовании JWT bearer в ASP.NET Core</title><link>https://startdebugging.net/ru/2026/06/fix-405-method-not-allowed-instead-of-401-with-jwt-bearer-in-aspnetcore/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-405-method-not-allowed-instead-of-401-with-jwt-bearer-in-aspnetcore/</guid><description>Защищённая конечная точка, возвращающая 405 вместо 401, почти всегда означает, что маршрутизация отклонила HTTP-метод до запуска аутентификации, либо схема cookie перехватила вызов проверки. Вот как определить, что именно.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Почему ваш JWT в ASP.NET Core возвращает 401 даже с действительным токеном</title><link>https://startdebugging.net/ru/2026/06/fix-aspnetcore-jwt-returns-401-even-with-valid-token/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-aspnetcore-jwt-returns-401-even-with-valid-token/</guid><description>Действительный токен, который всё равно даёт 401, почти всегда означает, что обработчик bearer не запускался или запустился под не той схемой. Проверьте порядок middleware, схему по умолчанию, имя схемы и дошёл ли вообще заголовок до обработчика.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The seed entity for entity type &apos;X&apos; cannot be added because a non-zero value is required for property &apos;Id&apos;</title><link>https://startdebugging.net/ru/2026/06/fix-the-seed-entity-cannot-be-added-non-zero-value-is-required-for-property/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-the-seed-entity-cannot-be-added-non-zero-value-is-required-for-property/</guid><description>HasData задаёт начальные данные для сущности с ключом, генерируемым хранилищем, но без явного значения. Дайте каждой строке стабильный Id, отличный от нуля, или используйте UseSeeding.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Cursor 3.9 упаковывает конфигурацию вашего агента в переносимые плагины</title><link>https://startdebugging.net/ru/2026/06/cursor-3-9-plugins-bundle-skills-rules-mcps-hooks/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/cursor-3-9-plugins-bundle-skills-rules-mcps-hooks/</guid><description>Cursor 3.9 добавляет систему плагинов и единую страницу Customize, чтобы skills, правила, серверы MCP, команды и hooks перемещались вместе как одна версионируемая единица.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: LateInitializationError: Field &apos;...&apos; has not been initialized в Flutter</title><link>https://startdebugging.net/ru/2026/06/fix-lateinitializationerror-field-has-not-been-initialized-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-lateinitializationerror-field-has-not-been-initialized-in-flutter/</guid><description>Этот сбой означает, что вы прочитали late-поле до того, как ему что-либо присвоили. Инициализируйте его синхронно в initState или откажитесь от late и смоделируйте асинхронное значение как nullable-состояние.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Null check operator used on a null value во Flutter</title><link>https://startdebugging.net/ru/2026/06/fix-null-check-operator-used-on-a-null-value-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-null-check-operator-used-on-a-null-value-in-flutter/</guid><description>Оператор ! наткнулся на null во время выполнения. Замените его на ?. и ?? для значения по умолчанию или защитите явной проверкой на null, вместо того чтобы утверждать значение, которого не было.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как объявить свойства расширения в C# 14</title><link>https://startdebugging.net/ru/2026/06/how-to-declare-extension-properties-in-csharp-14/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-declare-extension-properties-in-csharp-14/</guid><description>Свойства расширения появляются в C# 14 через новый блок extension. Объявляйте свойства расширения только для чтения, с сеттером, статические и обобщённые, почему автосвойства отвергаются и как компилятор преобразует их в аксессоры get_/set_.</description><pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 Preview 5 позволяет file-based приложениям ссылаться друг на друга через `#:ref`</title><link>https://startdebugging.net/ru/2026/06/dotnet-11-preview-5-file-based-apps-ref-directive/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dotnet-11-preview-5-file-based-apps-ref-directive/</guid><description>.NET 11 Preview 5 добавляет директиву #:ref, чтобы скрипт dotnet run мог ссылаться на другое file-based приложение как на библиотеку, с транзитивными ссылками и без файла проекта.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как реализовать keyset-пагинацию (cursor pagination) в EF Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-do-keyset-cursor-pagination-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-do-keyset-cursor-pagination-in-ef-core-11/</guid><description>Замените Skip/Take на WHERE, который перескакивает за последнюю увиденную строку. Сортируйте по полностью уникальному ключу, переносите значения последней строки как курсор, и EF Core 11 превратит следующую страницу в поиск по индексу вместо сканирования с OFFSET.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как мапить и запрашивать JSON-столбцы в EF Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-map-and-query-json-columns-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-map-and-query-json-columns-in-ef-core-11/</guid><description>Сопоставьте вложенный тип с одним JSON-столбцом через ComplexProperty(...).ToJson(), позвольте EF Core 11 хранить его в нативном типе json SQL Server 2025, а затем запрашивайте его с помощью LINQ, который транслируется в JSON_VALUE, JSON_CONTAINS и JSON_PATH_EXISTS.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как регистрировать и разрешать сервисы с ключом во внедрении зависимостей .NET 11</title><link>https://startdebugging.net/ru/2026/06/how-to-register-and-resolve-keyed-services-in-dotnet-11-dependency-injection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-register-and-resolve-keyed-services-in-dotnet-11-dependency-injection/</guid><description>Зарегистрируйте несколько реализаций одного типа сервиса под ключом с помощью AddKeyedSingleton/Scoped/Transient, а затем разрешите их через [FromKeyedServices], GetRequiredKeyedService или KeyedService.AnyKey. Регистрации с ключом и без ключа находятся в раздельных таблицах, и именно это сбивает с толку почти всех.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate></item><item><title>dotnetup: в .NET наконец появился менеджер версий SDK в стиле rustup</title><link>https://startdebugging.net/ru/2026/06/dotnetup-official-dotnet-sdk-version-manager/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dotnetup-official-dotnet-sdk-version-manager/</guid><description>Microsoft создаёт dotnetup, официальный кроссплатформенный инструмент для установки, отслеживания и переключения между SDK и средами выполнения .NET. Вот что он делает и на каком этапе находится в июне 2026 года.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить вложенные маршруты и deep links с go_router во Flutter</title><link>https://startdebugging.net/ru/2026/06/how-to-set-up-nested-routes-and-deep-links-with-go-router-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-set-up-nested-routes-and-deep-links-with-go-router-in-flutter/</guid><description>Создайте постоянную оболочку с вложенными маршрутами через ShellRoute и StatefulShellRoute, а затем настройте deep links на основе путей, которые восстанавливают весь стек страниц. Полная конфигурация для Android и iOS, а также подводные камни, ломающие стек возврата.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как безопасно использовать BuildContext после await во Flutter</title><link>https://startdebugging.net/ru/2026/06/how-to-use-buildcontext-safely-after-an-await-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-use-buildcontext-safely-after-an-await-in-flutter/</guid><description>Считайте всё необходимое из context до await, а затем защитите продолжение через if (context.mounted) return. Здесь полный паттерн, правило линтера, которое его требует, и краевые случаи, которые оно не ловит.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как валидировать издателя, аудиторию и срок действия JWT в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-validate-a-jwts-issuer-audience-and-lifetime-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-validate-a-jwts-issuer-audience-and-lifetime-in-aspnetcore-11/</guid><description>Полное руководство по TokenValidationParameters в ASP.NET Core 11: как работают ValidateIssuer, ValidateAudience и ValidateLifetime, какие на самом деле значения по умолчанию, почему Authority автоматически настраивает издателя и ключи подписи, ловушка ClockSkew в 5 минут и как читать коды ошибок IDX, когда отклоняется на вид валидный токен.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Закрытые иерархии классов в C# 15: ключевое слово closed в .NET 11 Preview 5</title><link>https://startdebugging.net/ru/2026/06/csharp-15-closed-class-hierarchies-dotnet-11-preview-5/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/csharp-15-closed-class-hierarchies-dotnet-11-preview-5/</guid><description>C# 15 добавляет модификатор closed в .NET 11 Preview 5, давая иерархиям классов проверку полноты во время компиляции в выражениях switch. Как это работает и единственный подводный камень.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить CORS для защищённого JWT API в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-configure-cors-for-a-jwt-protected-api-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-configure-cors-for-a-jwt-protected-api-in-aspnetcore-11/</guid><description>Полное руководство по CORS для API с токеном bearer в ASP.NET Core 11: правильный порядок UseCors относительно аутентификации, почему токен bearer в заголовке Authorization не является учётными данными CORS, почему AllowAnyHeader работает, а ручной шаблон не покрывает Authorization, и как не дать предварительному запросу завершиться сбоем.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как засеять связь многие-ко-многим в EF Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-seed-a-many-to-many-relationship-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-seed-a-many-to-many-relationship-in-ef-core-11/</guid><description>Заполнение таблицы связки для отношения многие-ко-многим в EF Core 11: неявные теневые ключи, которые нужно именовать вручную, шаблон UsingEntity HasData и альтернатива UseSeeding во время выполнения, работающая с навигациями пропуска.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как заполнять данные с помощью UseSeeding и UseAsyncSeeding в EF Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-seed-data-with-useseeding-and-useasyncseeding-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-seed-data-with-useseeding-and-useasyncseeding-in-ef-core-11/</guid><description>Заполняйте справочные данные правильно в EF Core 11 с помощью UseSeeding и UseAsyncSeeding: где их настраивать, когда они выполняются, какую проверку идемпотентности нельзя пропускать и почему нужно реализовать обе.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Сервер MCP для Binlog позволяет ИИ читать ваши логи MSBuild</title><link>https://startdebugging.net/ru/2026/06/dotnet-binlog-mcp-server-ai-investigates-msbuild-builds/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dotnet-binlog-mcp-server-ai-investigates-msbuild-builds/</guid><description>Microsoft выпустила Microsoft.AITools.BinlogMcp 2026-06-17 -- сервер MCP, предоставляющий 15 инструментов, чтобы Claude или Copilot диагностировали сбои сборки и медленные targets прямо из файла .binlog.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Что такое Span&lt;T&gt; в C# и когда он действительно ускоряет ваш код?</title><link>https://startdebugging.net/ru/2026/06/what-is-span-and-when-does-it-make-my-code-faster/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/what-is-span-and-when-does-it-make-my-code-faster/</guid><description>Span&lt;T&gt; -- это ref struct, живущий только в стеке и указывающий на память, которой вы уже владеете, поэтому у него нет собственной аллокации. Он ускоряет код ровно в трёх ситуациях: замена буфера в куче на stackalloc, нарезка без копирования и плотные циклы, где JIT убирает проверки границ. В остальных случаях он ничего не меняет, а через await он не компилируется.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Что такое атрибут DynamicallyAccessedMembers?</title><link>https://startdebugging.net/ru/2026/06/what-is-the-dynamicallyaccessedmembers-attribute/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/what-is-the-dynamicallyaccessedmembers-attribute/</guid><description>DynamicallyAccessedMembers сообщает триммеру .NET и AOT-компилятору, к каким членам типа Type вы обращаетесь через рефлексию, чтобы они были сохранены, а не удалены при тримминге. Он превращает молчаливое исключение MissingMethodException во время выполнения в предупреждение IL2070 на этапе сборки. Вот что делает этот атрибут, как работает лежащий в его основе анализ потока данных и как правильно аннотировать параметры, поля и параметры обобщённых типов.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Что такое ValueTask&lt;T&gt; и когда он того стоит?</title><link>https://startdebugging.net/ru/2026/06/what-is-valuetask-and-when-is-it-worth-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/what-is-valuetask-and-when-is-it-worth-it/</guid><description>ValueTask и ValueTask&lt;T&gt; -- это структуры, которые позволяют асинхронному методу вернуть результат без выделения Task в куче, когда он завершается синхронно. Выигрыш -- одно выделение памяти меньше на горячих путях, которые обычно завершаются без ожидания. Цена -- строгий контракт ожидания ровно один раз. Вот что этот тип представляет собой на самом деле, как он работает и тот узкий набор случаев, где он оправдывает себя.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.183 запрещает автоматическому режиму выполнять разрушительные команды Git и IaC</title><link>https://startdebugging.net/ru/2026/06/claude-code-2-1-183-auto-mode-blocks-destructive-commands/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/claude-code-2-1-183-auto-mode-blocks-destructive-commands/</guid><description>Claude Code v2.1.183 (2026-06-19) блокирует git reset --hard, git clean -fd и terraform/pulumi/cdk destroy в автоматическом режиме, если вы их не запросили, закрывая агентскую лазейку, где один неудачный ход уничтожает незакоммиченную работу.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Что такое генератор исходного кода и когда он мне нужен?</title><link>https://startdebugging.net/ru/2026/06/what-is-a-source-generator-and-when-do-i-need-one/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/what-is-a-source-generator-and-when-do-i-need-one/</guid><description>Понятное руководство по генераторам исходного кода в C#: что они на самом деле делают, как работает пайплайн IIncrementalGenerator, когда они выигрывают у рефлексии или T4 и в каких случаях к ним не стоит прибегать. С работающими примерами на .NET 11 и C# 14.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Что такое IAsyncEnumerable&lt;T&gt; и когда его следует использовать?</title><link>https://startdebugging.net/ru/2026/06/what-is-iasyncenumerable-and-when-should-i-use-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/what-is-iasyncenumerable-and-when-should-i-use-it/</guid><description>IAsyncEnumerable&lt;T&gt; — это интерфейс для асинхронных потоков: последовательность, элементы которой поступают со временем и каждый из которых может потребовать await. Вот что это на самом деле, как await foreach и yield приводят его в движение, и правило, когда выбирать его вместо Task&lt;List&lt;T&gt;&gt;.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Что такое Native AOT и чего он вам стоит?</title><link>https://startdebugging.net/ru/2026/06/what-is-native-aot-and-what-does-it-cost-you/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/what-is-native-aot-and-what-does-it-cost-you/</guid><description>Native AOT компилирует ваше .NET-приложение в единый автономный нативный бинарь без JIT, обеспечивая быстрый запуск и небольшое потребление памяти. Цена этого: цепочка инструментов C на этапе компиляции, более медленные публикации, сборки под каждый RID, отсутствие рефлексии и Reflection.Emit, обязательный тримминг и отсутствие Dynamic PGO. Вот полный баланс.</description><pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с FutureBuilder на Riverpod AsyncNotifier во Flutter (flutter_riverpod 3.3.2)</title><link>https://startdebugging.net/ru/2026/06/migrate-from-futurebuilder-to-a-riverpod-asyncnotifier-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-futurebuilder-to-a-riverpod-asyncnotifier-in-flutter/</guid><description>Пошаговая миграция со встроенного виджета FutureBuilder на Riverpod AsyncNotifier в реальном приложении Flutter: вынесите асинхронную работу из build, представьте её как провайдер, выполняйте отрисовку через .when() или сопоставление с образцом switch и добавьте методы обновления и мутации. Проверено на Flutter 3.44, Dart 3.x, flutter_riverpod 3.3.2.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Blazor static SSR получает [SupplyParameterFromSession] в .NET 11 Preview 5</title><link>https://startdebugging.net/ru/2026/06/blazor-supplyparameterfromsession-static-ssr-dotnet-11-preview-5/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/blazor-supplyparameterfromsession-static-ssr-dotnet-11-preview-5/</guid><description>Чтение состояния сессии в статически серверно отрендеренном Blazor означало обращение к HttpContext.Session и сериализацию вручную. .NET 11 Preview 5 добавляет [SupplyParameterFromSession] для привязки свойства компонента напрямую к ключу сессии.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция приложения Flutter 2 на Flutter 3.x: чек-лист по null safety</title><link>https://startdebugging.net/ru/2026/06/migrate-a-flutter-2-app-to-flutter-3-x-null-safety-checklist/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-a-flutter-2-app-to-flutter-3-x-null-safety-checklist/</guid><description>Руководство с зафиксированными версиями для перевода устаревшего приложения Flutter 2.x на актуальный выпуск Flutter 3.x, где миграция на sound null safety является жёстким барьером: почему нужен путь в два шага через Dart 2.19, что делает dart migrate и что ломается по дороге.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с provider на Riverpod во Flutter (provider 6.1.5 на Riverpod 3.x)</title><link>https://startdebugging.net/ru/2026/06/migrate-from-provider-to-riverpod-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-provider-to-riverpod-in-flutter/</guid><description>Пошаговая миграция с пакета provider на Riverpod 3.x в реальном приложении Flutter: ChangeNotifierProvider на Notifier, MultiProvider на ProviderScope, context.watch на ref.watch, ProxyProvider на композицию через ref.watch, плюс подводные камни с равенством и жизненным циклом. Проверено на Flutter 3.27.1, Dart 3.11, provider 6.1.5, flutter_riverpod 3.3.1.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция со Swashbuckle на встроенный генератор OpenAPI в .NET 11</title><link>https://startdebugging.net/ru/2026/06/migrate-from-swashbuckle-to-built-in-openapi-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-swashbuckle-to-built-in-openapi-in-dotnet-11/</guid><description>Пошаговая миграция со Swashbuckle.AspNetCore на Microsoft.AspNetCore.OpenApi в .NET 11: замена AddSwaggerGen на AddOpenApi, преобразование фильтров операций, схем и документа в трансформеры, сохранение UI и несовместимые изменения Microsoft.OpenApi v2, которые кусаются.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item><item><title>AsNoTracking vs AsNoTrackingWithIdentityResolution в EF Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/06/asnotracking-vs-asnotrackingwithidentityresolution-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/asnotracking-vs-asnotrackingwithidentityresolution-in-ef-core-11/</guid><description>Используйте AsNoTracking по умолчанию для запросов только на чтение. Прибегайте к AsNoTrackingWithIdentityResolution только тогда, когда граф результата содержит одну и ту же сущность несколько раз и ваш код полагается на получение единого общего экземпляра.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.175 закрывает лазейку availableModels с помощью enforceAvailableModels</title><link>https://startdebugging.net/ru/2026/06/claude-code-enforce-available-models-allowlist/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/claude-code-enforce-available-models-allowlist/</guid><description>Месяцами availableModels ограничивал выбор моделей, но оставлял настежь открытым вариант Default. Claude Code 2.1.175 добавляет enforceAvailableModels, чтобы администраторы наконец могли зафиксировать строгий список разрешённых моделей.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>FutureBuilder/StreamBuilder против AsyncValue из Riverpod во Flutter: что выбрать?</title><link>https://startdebugging.net/ru/2026/06/futurebuilder-streambuilder-vs-riverpod-asyncvalue-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/futurebuilder-streambuilder-vs-riverpod-asyncvalue-in-flutter/</guid><description>Используйте FutureBuilder или StreamBuilder для самодостаточного, одноразового асинхронного виджета. Переходите на AsyncValue из Riverpod, как только результат становится общим, кешируется или мутирует. Здесь решение, подводные камни и исполняемый код для обоих. Проверено на Flutter 3.44 и flutter_riverpod 3.3.1.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Валидация minimal API против FluentValidation в ASP.NET Core 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/06/minimal-api-validation-vs-fluentvalidation-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/minimal-api-validation-vs-fluentvalidation-in-aspnetcore-11/</guid><description>Используйте встроенную валидацию на генераторе исходного кода для синхронных правил, выразимых атрибутами, в ASP.NET Core 11; обращайтесь к FluentValidation, когда нужны асинхронные правила, сложная логика между полями или валидация вне ваших моделей предметной области.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Новый анализатор EF1004 в EF Core 11 ловит скрытую асинхронную ошибку</title><link>https://startdebugging.net/ru/2026/06/ef-core-11-ef1004-analyzer-toasyncenumerable-vs-asasyncenumerable/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/ef-core-11-ef1004-analyzer-toasyncenumerable-vs-asasyncenumerable/</guid><description>EF Core 11 Preview 5 включает анализатор EF1004. Он помечает вызов ToAsyncEnumerable() на IQueryable, чтобы вы случайно не выполнили запрос к базе данных синхронно внутри await foreach.</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Bad state: Cannot use &quot;ref&quot; after the widget was disposed во Flutter Riverpod</title><link>https://startdebugging.net/ru/2026/06/fix-cannot-use-ref-after-the-widget-was-disposed-in-flutter-riverpod/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-cannot-use-ref-after-the-widget-was-disposed-in-flutter-riverpod/</guid><description>Этот сбой означает, что WidgetRef использовали после того, как его виджет покинул дерево, обычно в асинхронном колбэке. Прочитайте всё нужное до await и защитите проверкой mounted.</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Looking up a deactivated widget&apos;s ancestor is unsafe во Flutter</title><link>https://startdebugging.net/ru/2026/06/fix-looking-up-a-deactivated-widgets-ancestor-is-unsafe-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-looking-up-a-deactivated-widgets-ancestor-is-unsafe-in-flutter/</guid><description>Этот сбой означает, что вы вызвали context.of() после того, как виджет покинул дерево, обычно в асинхронном callback или в dispose(). Захватите значение до await или в didChangeDependencies().</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate></item><item><title>HybridCache против IMemoryCache против IDistributedCache в .NET 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/06/hybridcache-vs-imemorycache-vs-idistributedcache-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/hybridcache-vs-imemorycache-vs-idistributedcache-in-dotnet-11/</guid><description>Для нового кода кеширования в .NET 11 по умолчанию используйте HybridCache. Берите IMemoryCache, только если нужна скорость на одном сервере без сериализации, а IDistributedCache, только как хранилище-бэкенд. Вот матрица принятия решений.</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Согласование ключей X25519 встроено в .NET 11 Preview 5</title><link>https://startdebugging.net/ru/2026/06/dotnet-11-x25519-key-agreement-preview-5/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dotnet-11-x25519-key-agreement-preview-5/</guid><description>.NET 11 Preview 5 добавляет полноценный тип X25519DiffieHellman в System.Security.Cryptography, чтобы выполнять обмен ключами Curve25519 без BouncyCastle или NSec.</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The SSL connection could not be established с HttpClient</title><link>https://startdebugging.net/ru/2026/06/fix-the-ssl-connection-could-not-be-established-with-httpclient/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-the-ssl-connection-could-not-be-established-with-httpclient/</guid><description>Внутреннее AuthenticationException называет настоящую причину: недоверенная цепочка, несовпадение имени или разрыв в версии TLS. Доверьте сертификат, исправьте хост или согласуйте протоколы. Не отключайте проверку целиком.</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Решение: The antiforgery token could not be decrypted в ASP.NET Core</title><link>https://startdebugging.net/ru/2026/06/fix-the-antiforgery-token-could-not-be-decrypted-in-aspnetcore/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-the-antiforgery-token-could-not-be-decrypted-in-aspnetcore/</guid><description>Ошибка означает, что Data Protection потерял ключ, которым был подписан токен. Сохраняйте ключи в общем долговечном хранилище и вызывайте SetApplicationName, чтобы каждый экземпляр читал одно и то же кольцо ключей.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The entity type &apos;X&apos; requires a primary key to be defined в EF Core 11</title><link>https://startdebugging.net/ru/2026/06/fix-the-entity-type-requires-a-primary-key-to-be-defined/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-the-entity-type-requires-a-primary-key-to-be-defined/</guid><description>EF Core не может найти ключ для вашего типа. Назовите свойство Id или {Type}Id, добавьте [Key], вызовите HasKey или, если это представление либо сырой SQL, вызовите HasNoKey.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate></item><item><title>LINQ получает FullJoin и join без селектора в .NET 11 Preview 5</title><link>https://startdebugging.net/ru/2026/06/linq-fulljoin-tuple-returning-joins-dotnet-11-preview-5/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/linq-fulljoin-tuple-returning-joins-dotnet-11-preview-5/</guid><description>.NET 11 Preview 5 добавляет в LINQ совершенно новый оператор FullJoin, а также перегрузки, возвращающие кортежи, для Join, LeftJoin, RightJoin и GroupJoin, которые полностью убирают селектор результата.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Статические SSR-формы Blazor получают валидацию на стороне клиента в .NET 11 Preview 5</title><link>https://startdebugging.net/ru/2026/06/blazor-static-ssr-client-side-validation-dotnet-11-preview-5/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/blazor-static-ssr-client-side-validation-dotnet-11-preview-5/</guid><description>Статически рендеримые на сервере формы Blazor могли валидироваться только после полного POST-цикла. .NET 11 Preview 5 рендерит метаданные валидации, чтобы JS Blazor применял правила DataAnnotations в браузере, без circuit.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The configured execution strategy &apos;SqlServerRetryingExecutionStrategy&apos; does not support user-initiated transactions</title><link>https://startdebugging.net/ru/2026/06/fix-execution-strategy-does-not-support-user-initiated-transactions/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-execution-strategy-does-not-support-user-initiated-transactions/</guid><description>EnableRetryOnFailure конфликтует с BeginTransaction. Оберните всю транзакцию в db.Database.CreateExecutionStrategy().ExecuteAsync(...), чтобы она повторялась как единое целое.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate></item><item><title>System.Text.Json наконец-то пишет JSON Lines в .NET 11 Preview 5</title><link>https://startdebugging.net/ru/2026/06/system-text-json-json-lines-serialization-dotnet-11-preview-5/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/system-text-json-json-lines-serialization-dotnet-11-preview-5/</guid><description>.NET 11 Preview 5 добавляет JsonSerializer.SerializeAsyncEnumerable с topLevelValues: true, поэтому System.Text.Json теперь умеет передавать JSONL потоком, а не только читать его.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.169 добавляет --safe-mode и команду /cd, сохраняющую кеш промптов горячим</title><link>https://startdebugging.net/ru/2026/06/claude-code-2-1-169-safe-mode-and-cd/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/claude-code-2-1-169-safe-mode-and-cd/</guid><description>Claude Code v2.1.169 (8 июня 2026) приносит флаг --safe-mode, отключающий все настройки для чистой отладки, и команду /cd, которая переносит сессию в новый каталог, не разрушая кеш промптов в середине работы.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: render mode не поддерживается render mode родительского компонента (Blazor)</title><link>https://startdebugging.net/ru/2026/06/fix-render-mode-is-not-supported-by-the-parent-components-render-mode-blazor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-render-mode-is-not-supported-by-the-parent-components-render-mode-blazor/</guid><description>Вы поставили @rendermode на дочерний компонент, родитель которого уже интерактивен. У поддерева ровно один render mode. Уберите директиву или перенесите её на границу.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как инициализировать Future, чтобы FutureBuilder не пересоздавал его при каждой перестройке во Flutter</title><link>https://startdebugging.net/ru/2026/06/how-to-initialize-a-future-so-futurebuilder-doesnt-recreate-it-on-every-rebuild-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-initialize-a-future-so-futurebuilder-doesnt-recreate-it-on-every-rebuild-in-flutter/</guid><description>FutureBuilder заново выполняет асинхронную работу при каждой перестройке родителя, потому что вы создали Future внутри build. Перенесите его в State.initState (или мемоизируйте), и FutureBuilder будет переиспользовать тот же Future. Здесь объяснение причины, воспроизводимый пример и каждый кусачий вариант.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как сохранить состояние через границу статического и интерактивного рендеринга в Blazor на .NET 11</title><link>https://startdebugging.net/ru/2026/06/how-to-persist-state-across-the-blazor-static-to-interactive-render-boundary-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-persist-state-across-the-blazor-static-to-interactive-render-boundary-in-dotnet-11/</guid><description>Предварительно отрендеренный компонент Blazor выполняет инициализацию дважды и теряет состояние при переходе к интерактивности. Решите это с помощью атрибута [PersistentState] или сервиса PersistentComponentState в .NET 11.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Плагин security-guidance для Claude Code проверяет собственные диффы до коммита</title><link>https://startdebugging.net/ru/2026/06/claude-code-security-guidance-plugin-reviews-its-own-diffs/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/claude-code-security-guidance-plugin-reviews-its-own-diffs/</guid><description>Anthropic выпустила бесплатный плагин security-guidance для Claude Code, который сканирует собственные правки агента на уязвимости в три слоя: от бесплатного сопоставления с образцом до агентной проверки при коммите.</description><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как отдать OpenAPI без Swashbuckle в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-expose-openapi-without-swashbuckle-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-expose-openapi-without-swashbuckle-in-aspnetcore-11/</guid><description>Swashbuckle исчез из шаблонов ASP.NET Core. Вот как сгенерировать и отдать документ OpenAPI в .NET 11 со встроенным пакетом Microsoft.AspNetCore.OpenApi: AddOpenApi, MapOpenApi, трансформеры, несколько документов, генерация во время сборки и интерфейс поверх.</description><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать перехватчики EF Core 11 для аудита</title><link>https://startdebugging.net/ru/2026/06/how-to-use-ef-core-11-interceptors-for-auditing/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-use-ef-core-11-interceptors-for-auditing/</guid><description>Проставляйте столбцы CreatedBy/ModifiedOn и пишите полный журнал изменений с помощью ISaveChangesInterceptor в EF Core 11, включая время жизни в DI, текущего пользователя и подводные камни ExecuteUpdate.</description><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate></item><item><title>GitHub Copilot SDK достиг GA: встройте среду выполнения агента Copilot в собственные приложения на C#</title><link>https://startdebugging.net/ru/2026/06/github-copilot-sdk-ga-embed-copilot-agent-runtime-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/github-copilot-sdk-ga-embed-copilot-agent-runtime-csharp/</guid><description>На Build 2026 GitHub выпустил Copilot SDK 1.0 GA с полноценным пакетом для .NET. Теперь из кода на C# можно управлять той же средой выполнения агента с планированием, вызовом инструментов и многоходовыми сессиями, включая BYOK.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как организовать эндпоинты minimal API с помощью MapGroup в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-organize-minimal-api-endpoints-with-mapgroup-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-organize-minimal-api-endpoints-with-mapgroup-in-aspnetcore-11/</guid><description>Полное руководство по структурированию minimal API в ASP.NET Core 11 с помощью MapGroup: модули эндпоинтов на ресурс как методы расширения, вложенные группы, общие фильтры и аутентификация, префиксы с параметрами маршрута, теги OpenAPI и неожиданные правила порядка фильтров.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать HybridCache в ASP.NET Core 11 с Redis в качестве кеша L2</title><link>https://startdebugging.net/ru/2026/06/how-to-use-hybridcache-in-aspnetcore-11-with-redis-as-the-l2-cache/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-use-hybridcache-in-aspnetcore-11-with-redis-as-the-l2-cache/</guid><description>Подключите HybridCache к Redis-кешу L2 в ASP.NET Core 11: зарегистрируйте сервис, добавьте распределённый кеш StackExchange Redis и позвольте GetOrCreateAsync дать вам двухуровневый кеш со встроенной защитой от лавины и инвалидацией по тегам.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как валидировать тело запроса в minimal API без контроллеров в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-validate-request-bodies-in-minimal-apis-without-controllers-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-validate-request-bodies-in-minimal-apis-without-controllers-in-aspnetcore-11/</guid><description>В ASP.NET Core 11 есть встроенная валидация для minimal API: вызовите AddValidation, разметьте record запроса атрибутами DataAnnotations, и генератор исходного кода проверит связанную модель и вернёт 400 ProblemDetails ещё до запуска вашего обработчика. Без контроллеров, без FluentValidation, без ручных проверок.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 даёт MemoryCache полноценные метрики OpenTelemetry</title><link>https://startdebugging.net/ru/2026/06/dotnet-11-memorycache-opentelemetry-metrics/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dotnet-11-memorycache-opentelemetry-metrics/</guid><description>.NET 11 Preview 4 поставляет встроенный meter для Microsoft.Extensions.Caching.Memory, поэтому коэффициент попаданий в кеш и вытеснения попадают в OpenTelemetry без фонового опросчика.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с IWebHostBuilder на WebApplication.CreateBuilder в .NET 11</title><link>https://startdebugging.net/ru/2026/06/migrate-from-iwebhostbuilder-to-webapplication-createbuilder/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-iwebhostbuilder-to-webapplication-createbuilder/</guid><description>Пошаговая миграция со старой модели хостинга на основе Startup.cs и WebHostBuilder на минимальную модель хостинга с WebApplication.CreateBuilder, включая устаревание ASPDEPR008, порядок middleware, IStartupFilter и то, как сохранить работоспособность тестов.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с System.Web.HttpContext на Microsoft.AspNetCore.Http.HttpContext</title><link>https://startdebugging.net/ru/2026/06/migrate-from-system-web-httpcontext-to-aspnetcore-httpcontext/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-system-web-httpcontext-to-aspnetcore-httpcontext/</guid><description>Практическая миграция с System.Web.HttpContext из ASP.NET Framework на HttpContext в ASP.NET Core 11: HttpContext.Current, карта свойств, Server.MapPath, Session и слой совместимости адаптеров System.Web для инкрементальных миграций.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с ValueTask&lt;T&gt; обратно на Task&lt;T&gt;: когда и почему (.NET 11, C# 14)</title><link>https://startdebugging.net/ru/2026/06/migrate-from-valuetask-back-to-task-when-and-why/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-valuetask-back-to-task-when-and-why/</guid><description>Практический чеклист для возврата типов возвращаемого значения ValueTask и ValueTask&lt;T&gt; к Task и Task&lt;T&gt;: что ломается в точках вызова, как проверить каждое изменение и как понять, стоила ли замена усилий.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Agent SDK и claude -p получат собственный пул кредитов 15 июня</title><link>https://startdebugging.net/ru/2026/06/claude-agent-sdk-separate-credit-pool-june-15/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/claude-agent-sdk-separate-credit-pool-june-15/</guid><description>Anthropic отделяет программное использование Claude от вашей подписки 2026-06-15. Вот что считается программным, каков кредит на каждый план и как не дать агентам CI тихо остановиться.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция приложения Blazor Server на Blazor United (Blazor Web App) в .NET 11</title><link>https://startdebugging.net/ru/2026/06/migrate-a-blazor-server-app-to-blazor-united-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-a-blazor-server-app-to-blazor-united-in-dotnet-11/</guid><description>Пошаговый чек-лист для перевода отдельного приложения Blazor Server на унифицированный шаблон Blazor Web App в .NET 11 с сохранением каждой страницы в режиме InteractiveServer без изменения поведения.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция Azure Functions с модели in-process на изолированный worker (.NET 8 / .NET 11)</title><link>https://startdebugging.net/ru/2026/06/migrate-from-in-process-azure-functions-to-isolated-worker/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-in-process-azure-functions-to-isolated-worker/</guid><description>Пошаговый чек-лист для перевода .NET-приложения Azure Functions с модели in-process на изолированный worker до прекращения поддержки 10 ноября 2026 года, с диффами csproj, переписыванием сигнатур и развёртыванием через обмен слотами.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Переход с Serilog на журналирование OpenTelemetry в .NET 11</title><link>https://startdebugging.net/ru/2026/06/migrate-from-serilog-to-opentelemetry-logging-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-from-serilog-to-opentelemetry-logging-in-dotnet-11/</guid><description>Пошаговое руководство по переводу приложения на .NET 11 с Serilog на журналирование OpenTelemetry: низкорисковый мост Serilog.Sinks.OpenTelemetry, полный переход на Microsoft.Extensions.Logging, что ломается, как проверить и как откатиться.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Dart 3.12 добавляет первичные конструкторы за экспериментальным флагом</title><link>https://startdebugging.net/ru/2026/06/dart-3-12-experimental-primary-constructors/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dart-3-12-experimental-primary-constructors/</guid><description>Dart 3.12 добавляет экспериментальный синтаксис первичных конструкторов, который объявляет поля и конструктор в заголовке класса, сокращая классический трёхстрочный класс данных до одной строки.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>EF Core ExecuteUpdate против загрузки сущностей и SaveChanges: что выбрать?</title><link>https://startdebugging.net/ru/2026/06/ef-core-executeupdate-vs-loading-entities-and-savechanges/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/ef-core-executeupdate-vs-loading-entities-and-savechanges/</guid><description>Руководство по выбору и реальный benchmark для EF Core 11: используйте ExecuteUpdate для множественных записей по предикату, а путь загрузить-затем-SaveChanges только тогда, когда нужен отслеживатель изменений, перехватчики или сложный граф объектов.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с EF Core 6 на EF Core 11: критические изменения, которые действительно бьют</title><link>https://startdebugging.net/ru/2026/06/migrate-ef-core-6-to-ef-core-11-breaking-changes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/migrate-ef-core-6-to-ef-core-11-breaking-changes/</guid><description>Руководство по миграции с фиксированными версиями, с EF Core 6.0 на EF Core 11.0, проходящее через критические изменения EF7, 8, 9, 10 и 11, которые ломают реальные приложения: Encrypt=True, Contains через OPENJSON, PendingModelChangesWarning, нативный столбец json и разделение SqlClient 7.0.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Provider vs Riverpod vs Bloc для управления состоянием во Flutter в 2026</title><link>https://startdebugging.net/ru/2026/06/provider-vs-riverpod-vs-bloc-for-flutter-state-management-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/provider-vs-riverpod-vs-bloc-for-flutter-state-management-in-2026/</guid><description>Выбирайте Riverpod для большинства новых приложений Flutter в 2026. Берите Bloc, когда большой команде нужна строгая событийная структура, а Provider оставьте только для устаревшего кода.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>BackgroundService vs IHostedService vs Hangfire для фоновых задач в .NET 11</title><link>https://startdebugging.net/ru/2026/06/backgroundservice-vs-ihostedservice-vs-hangfire-for-background-jobs-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/backgroundservice-vs-ihostedservice-vs-hangfire-for-background-jobs-in-dotnet-11/</guid><description>Выбирайте BackgroundService для внутрипроцессных циклов, чистый IHostedService для тонкого контроля жизненного цикла и Hangfire, когда задачи должны переживать перезапуск. Матрица принятия решений с кодом и одна деталь, которая решает за вас.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 поднимает минимальный базовый уровень CPU до x86-64-v2</title><link>https://startdebugging.net/ru/2026/06/dotnet-11-minimum-cpu-baseline-x86-64-v2/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dotnet-11-minimum-cpu-baseline-x86-64-v2/</guid><description>.NET 11 Preview 4 прекращает поддержку чипов x86/x64 старше 2013 года и поднимает базовый уровень JIT до x86-64-v2. Что ломается, почему и как проверить оборудование перед обновлением.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Решение: RenderBox was not laid out в Flutter</title><link>https://startdebugging.net/ru/2026/06/fix-renderbox-was-not-laid-out-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-renderbox-was-not-laid-out-in-flutter/</guid><description>RenderBox was not laid out почти всегда вторичная ошибка. Найдите первое утверждение layout выше, обычно это scrollable с неограниченными ограничениями, и исправьте его.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: A TextEditingController was used after being disposed во Flutter</title><link>https://startdebugging.net/ru/2026/06/fix-texteditingcontroller-was-used-after-being-disposed-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-texteditingcontroller-was-used-after-being-disposed-in-flutter/</guid><description>Этот сбой означает, что код обратился к контроллеру после вызова dispose(). Защищайте асинхронные колбэки проверкой mounted и никогда не освобождайте контроллер, который вам не принадлежит.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 умеет преобразовывать double в hex и обратно бит в бит</title><link>https://startdebugging.net/ru/2026/06/dotnet-11-floating-point-hex-format-numberstyles-hexfloat/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/dotnet-11-floating-point-hex-format-numberstyles-hexfloat/</guid><description>.NET 11 Preview 4 учит double, float и Half форматироваться спецификатором X и разбираться через NumberStyles.HexFloat, выдавая тот же hex-текст IEEE-754, что и printf(&quot;%a&quot;) в C.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: ObjectDisposedException: Cannot access a disposed context instance</title><link>https://startdebugging.net/ru/2026/06/fix-objectdisposedexception-cannot-access-a-disposed-context-instance/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-objectdisposedexception-cannot-access-a-disposed-context-instance/</guid><description>Ваша задача fire-and-forget захватила DbContext с областью запроса, который область DI уже освободила. Создайте новый контекст внутри задачи через IServiceScopeFactory или IDbContextFactory.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Решение: setState() or markNeedsBuild() called during build во Flutter</title><link>https://startdebugging.net/ru/2026/06/fix-setstate-or-markneedsbuild-called-during-build-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/fix-setstate-or-markneedsbuild-called-during-build-in-flutter/</guid><description>Эта ошибка означает, что вы изменили состояние во время сборки Flutter. Уберите setState из build или отложите его через addPostFrameCallback. Вот почему это происходит и как правильно исправить.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как показать состояния загрузки и ошибки с AsyncValue в Flutter Riverpod</title><link>https://startdebugging.net/ru/2026/06/how-to-show-loading-and-error-states-with-asyncvalue-in-flutter-riverpod/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-show-loading-and-error-states-with-asyncvalue-in-flutter-riverpod/</guid><description>Отображайте состояния загрузки, данных и ошибки из единственного AsyncValue в Riverpod 3. Используйте AsyncNotifier и AsyncValue.guard для мутаций, .when() и сопоставление с образцом через switch для UI, сохраняйте предыдущие данные при обновлении и мигрируйте устаревший паттерн StateNotifier. Проверено на flutter_riverpod 3.x, Flutter 3.44, Dart 3.x.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 Preview 4: Хватит заново вводить --project и --startup-project с .config/dotnet-ef.json</title><link>https://startdebugging.net/ru/2026/06/efcore-11-dotnet-ef-json-config-file/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/efcore-11-dotnet-ef-json-config-file/</guid><description>EF Core 11 Preview 4 позволяет инструменту dotnet ef читать значения опций по умолчанию из файла .config/dotnet-ef.json, так что многопроектные решения больше не вынуждают передавать --project и --startup-project в каждой команде.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как освобождать контроллеры во Flutter, чтобы избежать утечек памяти</title><link>https://startdebugging.net/ru/2026/06/how-to-dispose-controllers-in-flutter-to-avoid-memory-leaks/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-dispose-controllers-in-flutter-to-avoid-memory-leaks/</guid><description>AnimationController, TextEditingController и ScrollController удерживают ресурсы, которые сборщик мусора Dart не может освободить, пока вы их не освободите. Вот правильный шаблон, правила порядка и как обнаружить утечки до публикации.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как корректно обрабатывать сетевые ошибки в приложении Flutter</title><link>https://startdebugging.net/ru/2026/06/how-to-handle-network-errors-gracefully-in-a-flutter-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-handle-network-errors-gracefully-in-a-flutter-app/</guid><description>Запрос может завершиться неудачей из-за отсутствия связи, тайм-аута, сбоя DNS, ответа 500 или некорректного JSON, и каждый случай требует своей реакции. Здесь показано, как перехватывать нужные исключения, классифицировать их, безопасно повторять запрос и показывать интерфейс, на который пользователь может отреагировать.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать разделение запросов, чтобы избежать декартова взрыва в EF Core 11</title><link>https://startdebugging.net/ru/2026/06/how-to-use-query-splitting-to-avoid-a-cartesian-explosion-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/06/how-to-use-query-splitting-to-avoid-a-cartesian-explosion-in-ef-core-11/</guid><description>Когда вы делаете Include двух одноуровневых коллекций, EF Core 11 возвращает декартово произведение, и число строк взрывается. Вот как это исправляет AsSplitQuery, как включить его глобально и какие тонкости согласованности и упорядочивания нужно учитывать.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Dynamic Workflows в Claude Code распределяют один промпт между сотней и более субагентов (до 1000)</title><link>https://startdebugging.net/ru/2026/05/claude-code-dynamic-workflows-opus-4-8/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/claude-code-dynamic-workflows-opus-4-8/</guid><description>Anthropic выпустила Opus 4.8 2026-05-28 вместе с Dynamic Workflows -- предварительной исследовательской версией в Claude Code, которая пишет скрипт оркестрации на JavaScript для параллельного запуска от десятков до сотен субагентов, с ограничением в 1000 на один запуск.</description><pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate></item><item><title>Как безопасно выполнять fire-and-forget работу в ASP.NET Core с помощью BackgroundService</title><link>https://startdebugging.net/ru/2026/05/how-to-run-fire-and-forget-work-safely-in-aspnetcore-with-backgroundservice/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-run-fire-and-forget-work-safely-in-aspnetcore-with-backgroundservice/</guid><description>Вызов Task.Run из контроллера теряет работу при остановке, проглатывает исключения и захватывает уже освобождённые scoped-сервисы. Безопасный паттерн - ограниченная очередь Channel, которую опустошает BackgroundService, открывая новый scope для каждой единицы работы и завершая выполняемую работу в StopAsync.</description><pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать ExecuteUpdate и ExecuteDelete для массовых записей в EF Core 11</title><link>https://startdebugging.net/ru/2026/05/how-to-use-executeupdate-and-executedelete-for-bulk-writes-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-use-executeupdate-and-executedelete-for-bulk-writes-in-ef-core-11/</guid><description>Полное руководство по ExecuteUpdate и ExecuteDelete в EF Core 11: какой SQL они генерируют, ловушка трекера изменений, которая молча перезаписывает вашу массовую запись, транзакции, контроль конкурентного доступа через число затронутых строк и сеттеры через делегат из EF Core 10, позволяющие собирать условные обновления обычными инструкциями if.</description><pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать scoped-сервисы внутри BackgroundService в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/05/how-to-use-scoped-services-inside-a-backgroundservice-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-use-scoped-services-inside-a-backgroundservice-in-aspnetcore-11/</guid><description>BackgroundService является синглтоном, поэтому не может напрямую внедрить scoped-сервис вроде DbContext. Внедрите IServiceScopeFactory, открывайте один scope на единицу работы через CreateAsyncScope, разрешайте сервис внутри него и освобождайте scope по завершении работы.</description><pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с AutoMapper на маппинг, генерируемый исходным кодом, с Mapperly</title><link>https://startdebugging.net/ru/2026/05/migrate-from-automapper-to-source-generated-mapping/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/migrate-from-automapper-to-source-generated-mapping/</guid><description>Пошаговый чек-лист по замене Profiles, IMapper, ForMember и ProjectTo из AutoMapper 15 на мапперы, генерируемые исходным кодом Riok.Mapperly 4.3 в .NET 11.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с Newtonsoft.Json 13 на System.Text.Json в большой кодовой базе .NET 11</title><link>https://startdebugging.net/ru/2026/05/migrate-from-newtonsoft-json-to-system-text-json-in-a-large-codebase/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/migrate-from-newtonsoft-json-to-system-text-json-in-a-large-codebase/</guid><description>Руководство с фиксированными версиями по замене Newtonsoft.Json 13.0.4 на встроенный в .NET 11 System.Text.Json: сопоставления атрибутов и параметров, значения по умолчанию, которые незаметно меняют формат вывода, стратегия поэтапного развёртывания, проверка и подводные камни, бьющие по большим кодовым базам.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate></item><item><title>Переход с MediatR на простое внедрение зависимостей в .NET 11</title><link>https://startdebugging.net/ru/2026/05/migrate-from-mediatr-to-plain-dependency-injection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/migrate-from-mediatr-to-plain-dependency-injection/</guid><description>Пошаговый чек-лист для удаления MediatR 12-14 и замены обработчиков IRequest, ISender, pipeline behaviors и INotification на простые классы-сервисы и внедрение через конструктор.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate></item><item><title>MCP-сервер Dart и Flutter: одна команда, чтобы передать Claude Code запущенное приложение Flutter</title><link>https://startdebugging.net/ru/2026/05/dart-flutter-mcp-server-claude-code-cursor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dart-flutter-mcp-server-claude-code-cursor/</guid><description>В Dart 3.12 появился dart mcp-server, официальный MCP-мост к toolchain Dart и Flutter. Зарегистрируйте его один раз в Claude Code, Cursor или Codex CLI, и агент получит hot reload, поиск по pub.dev и интроспекцию виджетов в реальном времени без копирования URI DTD.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с .NET 8 на .NET 11: полный чек-лист</title><link>https://startdebugging.net/ru/2026/05/migrate-from-dotnet-8-to-dotnet-11-full-checklist/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/migrate-from-dotnet-8-to-dotnet-11-full-checklist/</guid><description>Чек-лист миграции с зафиксированными версиями: с .NET 8 LTS на .NET 11 LTS. Установка SDK, target framework в csproj, breaking changes в ASP.NET Core, EF Core, System.Text.Json и сдвиг разрешения перегрузок в C# 14, с заметками по откату.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с .NET Framework 4.8 на .NET 11 в 2026 году</title><link>https://startdebugging.net/ru/2026/05/migrate-from-dotnet-framework-4-8-to-dotnet-11-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/migrate-from-dotnet-framework-4-8-to-dotnet-11-in-2026/</guid><description>Привязанный к версиям план миграции кодовой базы .NET Framework 4.8 на .NET 11 LTS в 2026 году: переход на SDK-style csproj, замена System.Web на ASP.NET Core, WCF, переход с EF6 на EF Core 11, удаление BinaryFormatter, замены AppDomain и реалистичный план отката.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>Миграция с Xamarin.Forms 5.0 на .NET MAUI 11: полный чек-лист</title><link>https://startdebugging.net/ru/2026/05/migrate-from-xamarin-forms-to-maui-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/migrate-from-xamarin-forms-to-maui-11/</guid><description>Сквозная миграция с Xamarin.Forms 5.0 на .NET MAUI 11 GA на net11.0: переписывание csproj, преобразование пользовательских рендереров в хендлеры, подключение AppShell, удаление DependencyService, отказ от MessagingCenter, ресурсы Resizetizer и подводные камни, которые бьют по реальной продакшен-кодовой базе.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>Dart records vs классы Freezed: что выбрать в 2026 году?</title><link>https://startdebugging.net/ru/2026/05/dart-records-vs-freezed-classes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dart-records-vs-freezed-classes/</guid><description>Выбирайте records в Dart 3.12 для эфемерных, локальных по форме данных без методов и классы Freezed 3.x для именованных моделей домена, которым нужны copyWith, запечатанные объединения, JSON-сериализация или любое поведение.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>Flutter vs React Native vs .NET MAUI: что выбрать для нового мобильного проекта в 2026 году?</title><link>https://startdebugging.net/ru/2026/05/flutter-vs-react-native-vs-maui-for-a-new-mobile-project-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/flutter-vs-react-native-vs-maui-for-a-new-mobile-project-in-2026/</guid><description>Для нового мобильного приложения в 2026 году выбирайте Flutter 3.44, когда важны попиксельно идентичный интерфейс и бюджет на анимацию, React Native 0.82, когда ваша команда уже живёт в TypeScript и вам нужна реальная браузерная версия, и .NET MAUI 11, когда iOS и Android являются частью более широкого .NET-продукта и вам нужна первоклассная поддержка Microsoft.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>.NET MAUI 10 SR6 завершает Material 3 на Android за одним флагом UseMaterial3</title><link>https://startdebugging.net/ru/2026/05/maui-10-material-3-android-usematerial3-flag/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/maui-10-material-3-android-usematerial3-flag/</guid><description>MAUI 10 SR6 (10.0.60) расширяет тему Material 3 на Button, Entry, SearchBar, DatePicker, Slider, ProgressBar, ImageButton, Switch и Shell на Android. Подключается одним свойством MSBuild. Без кастомных рендереров, без правки styles.xml.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>MAUI vs Avalonia vs Uno Platform: что выбрать в 2026 году?</title><link>https://startdebugging.net/ru/2026/05/maui-vs-avalonia-vs-uno-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/maui-vs-avalonia-vs-uno-in-2026/</guid><description>Для нового кроссплатформенного .NET-приложения для десктопа и мобильных устройств в 2026 году выбирайте Avalonia, если нужен единый набор отрисованных элементов управления на всех целях, Uno, если необходимо охватить и браузер, и MAUI только тогда, когда вам действительно нужны нативные iOS и Android плюс первоклассная поддержка Microsoft.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>Azure Functions isolated worker vs in-process в .NET 11: что выбрать в 2026 году</title><link>https://startdebugging.net/ru/2026/05/azure-functions-isolated-worker-vs-in-process-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/azure-functions-isolated-worker-vs-in-process-in-dotnet-11/</guid><description>Выбирайте модель isolated worker для любой новой Azure Functions-приложения на .NET 11 в 2026 году и мигрируйте оставшиеся in-process приложения до даты вывода из эксплуатации 10 ноября.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate></item><item><title>Blazor Server vs Blazor WebAssembly vs Blazor United в .NET 11: что выбрать в 2026 году?</title><link>https://startdebugging.net/ru/2026/05/blazor-server-vs-webassembly-vs-united-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/blazor-server-vs-webassembly-vs-united-in-dotnet-11/</guid><description>Для любого нового Blazor-приложения на .NET 11 создавайте Blazor Web App (шаблон, ранее известный как Blazor United) и выбирайте режим рендеринга для каждой страницы. Шаблоны только Server или только WebAssembly остаются оправданными лишь в узких случаях.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 Preview 4: столбцы периода во временных таблицах наконец могут быть настоящими свойствами</title><link>https://startdebugging.net/ru/2026/05/ef-core-11-temporal-tables-clr-period-properties/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/ef-core-11-temporal-tables-clr-period-properties/</guid><description>EF Core 11 Preview 4 снимает многолетнее ограничение shadow-свойств для временных таблиц SQL Server. PeriodStart и PeriodEnd теперь могут быть обычными CLR-свойствами, настраиваемыми строго типизированными лямбдами HasPeriodStart и HasPeriodEnd.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate></item><item><title>Dart 3.12 избавляет от списка инициализации для приватных полей</title><link>https://startdebugging.net/ru/2026/05/dart-3-12-private-named-parameters-initializing-formals/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dart-3-12-private-named-parameters-initializing-formals/</guid><description>Dart 3.12 позволяет конструкторам инициализировать приватные поля напрямую через именованные параметры, устраняя один из самых стойких шаблонных паттернов языка.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>List&lt;T&gt; vs Span&lt;T&gt; vs ReadOnlySpan&lt;T&gt; в C#: когда что выбирать</title><link>https://startdebugging.net/ru/2026/05/list-vs-span-vs-readonlyspan-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/list-vs-span-vs-readonlyspan-in-csharp/</guid><description>List&lt;T&gt; -- это растущая коллекция в куче; Span&lt;T&gt; и ReadOnlySpan&lt;T&gt; -- представления только на стеке поверх памяти, которой вы уже владеете. Используйте List&lt;T&gt; для всего, что вы храните, возвращаете из async или наращиваете; Span&lt;T&gt; для изменяемого представления без аллокаций в синхронном методе; ReadOnlySpan&lt;T&gt; для разбора только для чтения поверх строк, литералов u8 и срезов.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>Parallel.ForEach vs Parallel.ForEachAsync vs Task.WhenAll в C#</title><link>https://startdebugging.net/ru/2026/05/parallel-foreach-vs-parallel-foreachasync-vs-task-whenall/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/parallel-foreach-vs-parallel-foreachasync-vs-task-whenall/</guid><description>Используйте Parallel.ForEach для нагружающей CPU работы над данными в памяти, Parallel.ForEachAsync для асинхронного ввода-вывода над множеством элементов с ограничением параллелизма, и Task.WhenAll для небольшого фиксированного fan-out, где нужно запустить все операции сразу и получить результаты.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>StringBuilder против интерполяции строк в .NET 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/05/stringbuilder-vs-string-interpolation-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/stringbuilder-vs-string-interpolation-in-dotnet-11/</guid><description>Используйте интерполяцию строк для одноразовой сборки фиксированного набора значений; используйте StringBuilder, когда вы добавляете в цикле или по неизвестному числу фрагментов. Разделительная линия - это цикл, а не количество значений.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core в .NET 11 Preview 4 обучает OpenAPI методу HTTP QUERY</title><link>https://startdebugging.net/ru/2026/05/aspnetcore-11-http-query-method-openapi/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/aspnetcore-11-http-query-method-openapi/</guid><description>.NET 11 Preview 4 заставляет генерацию OpenAPI в ASP.NET Core распознавать HTTP QUERY как полноценную операцию в OpenAPI 3.2, с аккуратным запасным вариантом для документов 3.0 и 3.1.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate></item><item><title>lock vs Monitor vs SemaphoreSlim vs System.Threading.Lock в C#</title><link>https://startdebugging.net/ru/2026/05/lock-vs-monitor-vs-semaphoreslim-vs-system-threading-lock-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/lock-vs-monitor-vs-semaphoreslim-vs-system-threading-lock-in-csharp/</guid><description>Четыре способа защитить критическую секцию в C# и матрица решений для выбора одного из них. Используйте System.Threading.Lock для синхронной взаимной блокировки на .NET 9+, SemaphoreSlim когда секция охватывает await, и Monitor только когда нужны Wait/Pulse.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate></item><item><title>Polly против resilience handlers в .NET 11: что выбрать?</title><link>https://startdebugging.net/ru/2026/05/polly-vs-resilience-handlers-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/polly-vs-resilience-handlers-in-dotnet-11/</guid><description>Используйте resilience handler из Microsoft.Extensions.Http.Resilience для вызовов через HttpClient, потому что это Polly с понимающими HTTP значениями по умолчанию и телеметрией в одну строку. Обращайтесь к ResiliencePipeline из Polly напрямую только тогда, когда защищаете нечто, не являющееся HttpClient.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate></item><item><title>Task.Run vs Task.Factory.StartNew vs ThreadPool.QueueUserWorkItem</title><link>https://startdebugging.net/ru/2026/05/task-run-vs-task-factory-startnew-vs-threadpool-queueuserworkitem/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/task-run-vs-task-factory-startnew-vs-threadpool-queueuserworkitem/</guid><description>Три способа отправить работу в пул потоков в C# и какой выбрать. Используйте Task.Run почти всегда, ThreadPool.QueueUserWorkItem&lt;TState&gt; для fire-and-forget без аллокаций, а Task.Factory.StartNew только для LongRunning или собственного планировщика.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate></item><item><title>Скомпилированные запросы EF Core vs сырой SQL vs Dapper: что побеждает на пути чтения?</title><link>https://startdebugging.net/ru/2026/05/ef-core-compiled-queries-vs-raw-sql-vs-dapper/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/ef-core-compiled-queries-vs-raw-sql-vs-dapper/</guid><description>Для путей с большим количеством чтений в .NET 11 чистый EF Core с AsNoTracking держится в пределах ~5% от Dapper. Используйте скомпилированные запросы на профилированном горячем пути одной строки, а Dapper только для наименьшей задержки или для SQL, который LINQ не может выразить.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 добавляет сжатие Deflate и GZip без аллокаций</title><link>https://startdebugging.net/ru/2026/05/dotnet-11-span-based-deflate-gzip-compression/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dotnet-11-span-based-deflate-gzip-compression/</guid><description>.NET 11 Preview 4 приносит DeflateEncoder, GZipEncoder и ZLibEncoder вместе с соответствующими декодерами, позволяя сжимать прямо в Span&lt;byte&gt; через OperationStatus, без всякого Stream.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate></item><item><title>HttpClient vs HttpClientFactory vs Refit: что использовать в .NET 11?</title><link>https://startdebugging.net/ru/2026/05/httpclient-vs-httpclientfactory-vs-refit/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/httpclient-vs-httpclientfactory-vs-refit/</guid><description>Никогда не создавайте HttpClient на каждый запрос. Используйте IHttpClientFactory для управления временем жизни и добавляйте Refit сверху, когда нужен типизированный интерфейс вместо написанного вручную кода запроса. Чистый singleton HttpClient годится лишь для самых простых случаев.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate></item><item><title>MediatR против простых сервисных классов в 2026: должна ли смена лицензии вас сдвинуть?</title><link>https://startdebugging.net/ru/2026/05/mediatr-vs-plain-service-classes-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/mediatr-vs-plain-service-classes-in-2026/</guid><description>Для нового кода простые сервисные классы - лучший выбор по умолчанию. Смена лицензии MediatR в июле 2025 важна, только если вы выше порога Community в 5 млн долларов или отвергаете copyleft RPL-1.5. Сохраняйте MediatR, когда pipeline behaviors несут реальную нагрузку.</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate></item><item><title>C# 16 превращает unsafe в контракт для вызывающего кода</title><link>https://startdebugging.net/ru/2026/05/csharp-16-unsafe-keyword-caller-contract/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/csharp-16-unsafe-keyword-caller-contract/</guid><description>C# 16 переосмысливает ключевое слово unsafe так, что оно передаёт обязательство вызывающему коду, а не молча открывает unsafe-контекст, и теперь внутренние блоки unsafe обязательны.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate></item><item><title>Native AOT против ReadyToRun против JIT в .NET 11: что выбрать для поставки?</title><link>https://startdebugging.net/ru/2026/05/native-aot-vs-readytorun-vs-jit-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/native-aot-vs-readytorun-vs-jit-in-dotnet-11/</guid><description>Классический JIT с Dynamic PGO выигрывает по пропускной способности в установившемся режиме, ReadyToRun ускоряет запуск без изменений кода, а Native AOT даёт самый маленький и быстро стартующий бинарник ценой рефлексии и динамического кода. Выбирайте по форме развёртывания, а не по изолированным бенчмаркам.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate></item><item><title>System.Text.Json vs Newtonsoft.Json в 2026 году: что выбрать?</title><link>https://startdebugging.net/ru/2026/05/system-text-json-vs-newtonsoft-json-in-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/system-text-json-vs-newtonsoft-json-in-2026/</guid><description>Для нового кода на .NET 11 выбирайте System.Text.Json: он встроен, примерно в 2 раза быстрее и единственный работает с Native AOT. К Newtonsoft.Json обращайтесь только ради JSONPath, TypeNameHandling или действительно нестрогого JSON.</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate></item><item><title>ConfigureAwait(false) vs значение по умолчанию в .NET 11: имеет ли это ещё значение?</title><link>https://startdebugging.net/ru/2026/05/configureawait-false-vs-default-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/configureawait-false-vs-default-in-dotnet-11/</guid><description>ConfigureAwait(false) по-прежнему обязателен в библиотечном коде, который может выполняться под SynchronizationContext (WinForms, WPF, MAUI). В коде приложения на ASP.NET Core, консольном приложении или worker-сервисе, работающих на .NET 11, это no-op.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item><item><title>Cursor 3.4 добавляет мультирепозиторные окружения и ускоряет сборки Dockerfile для облачных агентов</title><link>https://startdebugging.net/ru/2026/05/cursor-3-4-multi-repo-cloud-agent-environments/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/cursor-3-4-multi-repo-cloud-agent-environments/</guid><description>Cursor 3.4 (13 мая 2026) позволяет одному окружению облачного агента включать несколько репозиториев, добавляет секреты сборки для Dockerfile, пересборки с кэшем слоёв на 70% быстрее и шаг настройки под управлением агента, который проверяет учётные данные до первого запуска.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item><item><title>IEnumerable vs IAsyncEnumerable vs IQueryable в C#: что должен возвращать метод?</title><link>https://startdebugging.net/ru/2026/05/ienumerable-vs-iasyncenumerable-vs-iqueryable-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/ienumerable-vs-iasyncenumerable-vs-iqueryable-in-csharp/</guid><description>Три интерфейса последовательностей, три модели выполнения. Используйте IQueryable, когда база данных может транслировать запрос, IAsyncEnumerable, когда производитель асинхронный и вам нужна потоковая передача, IEnumerable для всего остального в памяти.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item><item><title>Minimal APIs vs контроллеры в ASP.NET Core 11: что выбрать в 2026 году?</title><link>https://startdebugging.net/ru/2026/05/minimal-apis-vs-controllers-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/minimal-apis-vs-controllers-in-aspnetcore-11/</guid><description>В ASP.NET Core 11 по умолчанию выбирайте minimal APIs. Контроллеры берите только тогда, когда нужны возможности MVC, которые minimal APIs всё ещё не покрывают: маршрутизация по соглашениям для множества действий, фильтры в стиле MVC или Razor-представления.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate></item><item><title>async void vs async Task в C#: когда какой вариант правильный</title><link>https://startdebugging.net/ru/2026/05/async-void-vs-async-task-in-csharp-when-each-is-correct/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/async-void-vs-async-task-in-csharp-when-each-is-correct/</guid><description>async Task - значение по умолчанию, а async void - исключение. Используйте async void только для обработчиков событий, обработчиков верхнего уровня в цикле сообщений и небольшого набора колбэков фреймворка, которые требуют сигнатуры void. Везде остальном async Task выигрывает по обработке исключений, композиции и тестируемости.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 vs Dapper для массовых вставок: реальный бенчмарк</title><link>https://startdebugging.net/ru/2026/05/ef-core-11-vs-dapper-for-bulk-inserts-real-benchmark/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/ef-core-11-vs-dapper-for-bulk-inserts-real-benchmark/</guid><description>Для массовых вставок в .NET 11 не побеждают ни EF Core, ни Dapper. Побеждает SqlBulkCopy. Это бенчмарк, причина и то место, которое заслуживает каждый инструмент.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Очистка пакетов NuGet включена по умолчанию в .NET 10</title><link>https://startdebugging.net/ru/2026/05/nuget-package-pruning-default-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/nuget-package-pruning-default-net-10/</guid><description>Очистка пакетов NuGet поставляется включённой по умолчанию для проектов net10.0, сокращая отчёты о транзитивных уязвимостях на 70% и время restore до 50%.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>record vs class vs структура в C#: матрица решений</title><link>https://startdebugging.net/ru/2026/05/record-vs-class-vs-struct-in-csharp-a-decision-matrix/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/record-vs-class-vs-struct-in-csharp-a-decision-matrix/</guid><description>C# 14 даёт вам четыре формы типа данных -- class, record class, struct и record struct. Это матрица решений: когда каждая правильна, что каждая стоит, и правила, которые выбирают за вас.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Cloud Functions for Firebase теперь говорит на Dart (экспериментально)</title><link>https://startdebugging.net/ru/2026/05/dart-cloud-functions-firebase-experimental/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dart-cloud-functions-firebase-experimental/</guid><description>2026-05-06 Firebase выпустил экспериментальную поддержку Dart для Cloud Functions. HTTPS и callable-триггеры, AOT-холодные старты, а компиляцию берёт на себя Firebase CLI.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: ломающее изменение разрешения перегрузок в C# 14 со Span и ReadOnlySpan</title><link>https://startdebugging.net/ru/2026/05/fix-csharp-14-overload-resolution-breaking-change-with-spans/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-csharp-14-overload-resolution-breaking-change-with-spans/</guid><description>После обновления до C# 14 / .NET 10 вызовы вроде array.Contains, x.Reverse() и MemoryMarshal.Cast внезапно привязываются к другим перегрузкам или перестают компилироваться. Вот что изменилось и как зафиксировать старое поведение там, где это важно.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate></item><item><title>GPT-5.3-Codex становится базовой моделью Copilot Business и Enterprise</title><link>https://startdebugging.net/ru/2026/05/copilot-business-gpt-5-3-codex-base-model/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/copilot-business-gpt-5-3-codex-base-model/</guid><description>17 мая 2026 года GitHub переключил модель Copilot по умолчанию на тарифах Business и Enterprise с GPT-4.1 на GPT-5.3-Codex. GPT-4.1 остаётся бесплатной до 1 июня, затем переходит на тарификацию по использованию. Что меняется для зафиксированных моделей в репозитории и CI.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: конфликт AndroidX при сборке Flutter Android</title><link>https://startdebugging.net/ru/2026/05/fix-androidx-conflict-during-flutter-android-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-androidx-conflict-during-flutter-android-build/</guid><description>Исправление за 30 секунд: установите android.useAndroidX=true и android.enableJetifier=true в android/gradle.properties, затем найдите любой плагин, всё ещё использующий старую support library, и обновите или замените его.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: плагин Flutter background_fetch требует minSdkVersion 21</title><link>https://startdebugging.net/ru/2026/05/fix-flutter-background-fetch-requires-minsdkversion-21/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-flutter-background-fetch-requires-minsdkversion-21/</guid><description>Исправление за 30 секунд: установите minSdkVersion в 21 (или выше) в android/app/build.gradle. background_fetch построен на Android JobScheduler, который существует только начиная с API 21.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: framework_version=6.0.0 was not found при запуске бинарника .NET 6</title><link>https://startdebugging.net/ru/2026/05/fix-framework-version-6-0-0-when-launching-dotnet-6-binary/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-framework-version-6-0-0-when-launching-dotnet-6-binary/</guid><description>Среда выполнения .NET 6 отсутствует или не совпадает. Установите net6.0 заново, сделайте roll forward на net8.0 через runtimeconfig, смените таргет csproj или опубликуйте self-contained.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>dotnet new mcpserver теперь поставляется в SDK .NET 11 Preview 4</title><link>https://startdebugging.net/ru/2026/05/dotnet-11-preview-4-mcpserver-template-bundled/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dotnet-11-preview-4-mcpserver-template-bundled/</guid><description>.NET 11 Preview 4 включает шаблон проекта mcpserver прямо в SDK. Без отдельной установки Microsoft.McpServer.ProjectTemplates, без танцев с preview-фидами. Выбираете транспорт stdio или HTTP, включаете Native AOT, и dotnet new mcpserver -o MyServer -- это вся настройка.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Failed to build iOS app с Xcode 16 и Flutter 3.x</title><link>https://startdebugging.net/ru/2026/05/fix-failed-to-build-ios-app-with-xcode-16-and-flutter-3-x/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-failed-to-build-ios-app-with-xcode-16-and-flutter-3-x/</guid><description>Исправление за 60 секунд: обновите Flutter до 3.24.4 или новее, поднимите платформу Podfile до iOS 13, удалите Pods и DerivedData, затем pod install. Ошибка редко находится в вашем Dart-коде.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Unhandled Exception: FormatException: Unexpected character при разборе JSON в Dart</title><link>https://startdebugging.net/ru/2026/05/fix-formatexception-unexpected-character-when-parsing-json-in-dart/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-formatexception-unexpected-character-when-parsing-json-in-dart/</guid><description>Решение за 30 секунд: тело ответа не тот JSON, который вы думаете. Выведите сырые байты, декодируйте через utf8.decode(response.bodyBytes) и никогда не передавайте HTML-страницу с ошибкой или строку с BOM в jsonDecode.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Version solving failed в pubspec.yaml</title><link>https://startdebugging.net/ru/2026/05/fix-version-solving-failed-in-pubspec-yaml/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-version-solving-failed-in-pubspec-yaml/</guid><description>Исправление за 30 секунд: прочитайте цепочку &apos;because&apos; в ошибке, найдите единственное ограничение, которое загоняет pub в тупик, и либо расширьте его, либо добавьте запись в dependency_overrides. Не начинайте с flutter clean.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: provisioning profile не включает текущее выбранное устройство в MAUI iOS</title><link>https://startdebugging.net/ru/2026/05/fix-provisioning-profile-doesnt-include-currently-selected-device-maui-ios/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-provisioning-profile-doesnt-include-currently-selected-device-maui-ios/</guid><description>Профиль, который выбрал Visual Studio, был сгенерирован до регистрации UDID этого iPhone. Перерегистрируйте устройство, пересоздайте профиль разработки, скачайте, разверните заново.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate></item><item><title>Решение: A RenderFlex overflowed by N pixels во Flutter</title><link>https://startdebugging.net/ru/2026/05/fix-renderflex-overflowed-in-flutter/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-renderflex-overflowed-in-flutter/</guid><description>Решение за 30 секунд: оберните потомка, вызвавшего переполнение, в Expanded или Flexible. Затем прочитайте остальное, чтобы понять, почему Row и Column не обрезают молча, что значат неограниченные constraints и какое решение подходит к какому макету.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: Unable to find a valid iOS Simulator runtime при сборке MAUI</title><link>https://startdebugging.net/ru/2026/05/fix-unable-to-find-a-valid-ios-simulator-runtime-during-maui-build/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-unable-to-find-a-valid-ios-simulator-runtime-during-maui-build/</guid><description>В Xcode 15+ среды выполнения симулятора iOS не входят в комплект. MAUI ломает сборку, когда для SupportedOSPlatformVersion нет подходящей установленной среды. Установите её через xcodebuild -downloadPlatform iOS или через Settings Xcode, и проверьте через xcrun simctl list runtimes.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate></item><item><title>Flutter 3.44 выносит Material и Cupertino из SDK и делает SwiftPM умолчанием</title><link>https://startdebugging.net/ru/2026/05/flutter-3-44-material-cupertino-packages-swiftpm-default/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/flutter-3-44-material-cupertino-packages-swiftpm-default/</guid><description>Flutter 3.44 stable замораживает Material и Cupertino внутри SDK и направляет новую работу в пакеты material_ui и cupertino_ui на pub.dev. SwiftPM также становится умолчанием для iOS и macOS, наконец отправляя CocoaPods на покой.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 добавляет захват вывода процессов без взаимных блокировок</title><link>https://startdebugging.net/ru/2026/05/dotnet-11-process-api-deadlock-free-capture/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dotnet-11-process-api-deadlock-free-capture/</guid><description>.NET 11 Preview 4 представляет новые API System.Diagnostics.Process, которые параллельно вычитывают stdout и stderr, плюс однострочные хелперы запуска с захватом и KillOnParentExit.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: сборка Gradle не смогла создать файл .apk в MAUI Android</title><link>https://startdebugging.net/ru/2026/05/fix-gradle-build-failed-to-produce-an-apk-file-in-maui-android/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-gradle-build-failed-to-produce-an-apk-file-in-maui-android/</guid><description>В девяти случаях из десяти настоящая ошибка Gradle спрятана выше в логе MSBuild. Путь к JDK 17, отсутствующий workload maui-android и длинные пути в Windows -- обычные первопричины.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: A possible object cycle was detected</title><link>https://startdebugging.net/ru/2026/05/fix-possible-object-cycle-was-detected-system-text-json/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-possible-object-cycle-was-detected-system-text-json/</guid><description>System.Text.Json отказывается сериализовать графы с обратными ссылками. Установите ReferenceHandler.IgnoreCycles, спроецируйте на DTO или пометьте обратный указатель атрибутом [JsonIgnore]. Preserve - крайнее средство.</description><pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: SqlException: Timeout expired при миграциях EF Core</title><link>https://startdebugging.net/ru/2026/05/fix-sqlexception-timeout-expired-during-ef-core-migrations/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-sqlexception-timeout-expired-during-ef-core-migrations/</guid><description>Миграции используют DbContext времени проектирования, а не ваш CommandTimeout времени выполнения. Установите таймаут через UseSqlServer(o =&gt; o.CommandTimeout(...)), Command Timeout в строке подключения или Database.SetCommandTimeout перед Migrate().</description><pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate></item><item><title>MAUI переходит на CoreCLR по умолчанию на Android, iOS и Mac Catalyst в .NET 11 Preview 4</title><link>https://startdebugging.net/ru/2026/05/maui-coreclr-default-android-ios-dotnet-11-preview-4/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/maui-coreclr-default-android-ios-dotnet-11-preview-4/</guid><description>.NET 11 Preview 4 делает CoreCLR средой выполнения по умолчанию для MAUI на Android, iOS, Mac Catalyst и tvOS. Mono всё ещё доступен через одно свойство MSBuild. Вот что меняется, что ломается и как отключить.</description><pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate></item><item><title>dotnet watch наконец добрался до MAUI на Android и iOS в .NET 11 Preview 4</title><link>https://startdebugging.net/ru/2026/05/dotnet-watch-maui-android-ios-net-11-preview-4/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/dotnet-watch-maui-android-ios-net-11-preview-4/</guid><description>.NET 11 Preview 4 включает dotnet watch для устройств Android, эмуляторов Android и симулятора iOS. Вы редактируете, сохраняете и запущенное приложение обновляется без ручной пересборки. Для iOS есть одна особенность csproj.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: System.Text.Json.JsonException: The JSON value could not be converted</title><link>https://startdebugging.net/ru/2026/05/fix-jsonexception-the-json-value-could-not-be-converted/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-jsonexception-the-json-value-could-not-be-converted/</guid><description>System.Text.Json выбрасывает это исключение, когда входящий JSON-токен не соответствует целевому типу CLR. Согласуйте JSON с типом или зарегистрируйте JsonConverter или JsonSerializerOption, которые их связывают.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: System.Security.Cryptography.CryptographicException: Keyset does not exist</title><link>https://startdebugging.net/ru/2026/05/fix-keyset-does-not-exist-when-calling-win32-api-from-dotnet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-keyset-does-not-exist-when-calling-win32-api-from-dotnet/</guid><description>Закрытый ключ сертификата лежит в отдельном файле ключей Windows, который текущий процесс не может прочитать. Настройте ACL, загрузите PFX с MachineKeySet или используйте EphemeralKeySet.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The command &apos;dotnet&apos; could not be found в CI</title><link>https://startdebugging.net/ru/2026/05/fix-the-command-dotnet-could-not-be-found-on-ci/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-the-command-dotnet-could-not-be-found-on-ci/</guid><description>Раннер CI не может найти dotnet, потому что SDK не установлен на этом шаге, либо установлен, но не в PATH. Используйте actions/setup-dotnet, зафиксируйте global.json и экспортируйте DOTNET_ROOT и ~/.dotnet/tools.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate></item><item><title>Cursor Bugbot получил уровни усилий Default, High и Custom</title><link>https://startdebugging.net/ru/2026/05/cursor-bugbot-effort-levels-pr-review/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/cursor-bugbot-effort-levels-pr-review/</guid><description>11 мая 2026 года Cursor выпустил уровни усилий для Bugbot. Default находит 0.7 бага за ревью, High повышает это число до 0.95, а Custom позволяет описать на естественном языке, когда должен включаться каждый режим.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: System.IO.FileNotFoundException: Could not load file or assembly в опубликованном приложении</title><link>https://startdebugging.net/ru/2026/05/fix-could-not-load-file-or-assembly-in-published-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-could-not-load-file-or-assembly-in-published-app/</guid><description>Работает с dotnet run, падает после dotnet publish. DLL обычно отсутствует в папке публикации, а не в среде выполнения. Проверьте deps.json, Private у ProjectReference и trimming.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: InvalidOperationException: Synchronous operations are disallowed</title><link>https://startdebugging.net/ru/2026/05/fix-invalidoperationexception-synchronous-operations-are-disallowed/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-invalidoperationexception-synchronous-operations-are-disallowed/</guid><description>Замените вызов Stream.Read или Write на ReadAsync/WriteAsync. В крайнем случае установите AllowSynchronousIO в Kestrel, IIS или поштучно через IHttpBodyControlFeature.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: RZ10012: Found markup element with unexpected name в Blazor</title><link>https://startdebugging.net/ru/2026/05/fix-rz10012-found-markup-element-with-unexpected-name-blazor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-rz10012-found-markup-element-with-unexpected-name-blazor/</guid><description>Компилятор Razor в Blazor выдаёт RZ10012, когда тег в PascalCase не связан с типом компонента в области видимости. Добавьте @using для пространства имён компонента в _Imports.razor или @namespace в самом компоненте, затем пересоберите проект.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate></item><item><title>Cursor 3.3 добавляет Build in Parallel, Split PRs и единый PR Review</title><link>https://startdebugging.net/ru/2026/05/cursor-3-3-build-in-parallel-split-prs/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/cursor-3-3-build-in-parallel-split-prs/</guid><description>Cursor 3.3 (7 мая 2026 года) приносит асинхронные субагенты, которые одновременно работают над независимыми шагами плана, быстрое действие, разбивающее один чат на несколько pull request, и переработанный поток ревью PR, который держит ревью, коммиты и изменения в одном месте.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: dotnet ef migrations add падает с &apos;Unable to create an object of type DbContext&apos;</title><link>https://startdebugging.net/ru/2026/05/fix-dotnet-ef-migrations-add-unable-to-create-dbcontext/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-dotnet-ef-migrations-add-unable-to-create-dbcontext/</guid><description>Инструменты EF Core времени проектирования не смогли создать экземпляр вашего DbContext. Предоставьте host через WebApplication.CreateBuilder, укажите правильный startup project или реализуйте IDesignTimeDbContextFactory.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: MSB3027 Could not copy X to Y. Exceeded retry count of 10. Failed</title><link>https://startdebugging.net/ru/2026/05/fix-msbuild-msb3027-could-not-copy-exceeded-retry-count/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-msbuild-msb3027-could-not-copy-exceeded-retry-count/</guid><description>MSB3027 означает, что MSBuild десять раз пытался скопировать файл, а процесс по-прежнему удерживал место назначения. Завершите блокирующий процесс, исключите bin/obj из антивируса или повысьте CopyRetryCount.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: The type or namespace name &apos;X&apos; could not be found (после добавления ProjectReference)</title><link>https://startdebugging.net/ru/2026/05/fix-the-type-or-namespace-name-could-not-be-found-after-project-reference/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-the-type-or-namespace-name-could-not-be-found-after-project-reference/</guid><description>CS0246 сразу после свежей ProjectReference почти всегда означает несовпадение TargetFramework, устаревшую папку obj/ или отсутствующую директиву using. Пять решений по убыванию вероятности.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>GitHub Copilot убирает Claude Sonnet 4 со всех поверхностей</title><link>https://startdebugging.net/ru/2026/05/copilot-deprecates-claude-sonnet-4-may-2026/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/copilot-deprecates-claude-sonnet-4-may-2026/</guid><description>GitHub отказался от claude-sonnet-4 6 мая 2026 года в Copilot Chat, inline-редактировании, режимах ask и agent, а также в автодополнении кода. Рекомендуемая цель миграции -- Claude Sonnet 4.6. Что искать grep-ом в репозитории, прежде чем следующий зафиксированный выбор модели тихо сломается.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>Решение: Cannot consume scoped service &apos;X&apos; from singleton &apos;Y&apos;</title><link>https://startdebugging.net/ru/2026/05/fix-cannot-consume-scoped-service-from-singleton/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-cannot-consume-scoped-service-from-singleton/</guid><description>Валидация области в ASP.NET Core выбрасывает это, когда singleton захватил бы scoped-зависимость на весь процесс. Сделайте потребителя scoped или внедрите IServiceScopeFactory и создавайте область по требованию.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: PlatformNotSupportedException: Operation is not supported on this platform в Native AOT</title><link>https://startdebugging.net/ru/2026/05/fix-platformnotsupportedexception-in-native-aot/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-platformnotsupportedexception-in-native-aot/</guid><description>Native AOT убирает JIT и интерпретатор, поэтому reflection emit, компиляция деревьев выражений и невиденные MakeGenericType бросают во время выполнения. Найдите вызов через IL3050 и замените его на генератор исходного кода или заранее подготовленный путь.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: Unable to resolve service for type &apos;X&apos; while attempting to activate &apos;Y&apos;</title><link>https://startdebugging.net/ru/2026/05/fix-unable-to-resolve-service-for-type-while-attempting-to-activate/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-unable-to-resolve-service-for-type-while-attempting-to-activate/</guid><description>ASP.NET Core выбрасывает это исключение, когда конструктор запрашивает тип, который никогда не был зарегистрирован, был зарегистрирован в другом контейнере или был добавлен после построения хоста. Три конкретных исправления покрывают почти все случаи.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: TaskCanceledException: A task was canceled в HttpClient</title><link>https://startdebugging.net/ru/2026/05/fix-taskcanceledexception-a-task-was-canceled-httpclient/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-taskcanceledexception-a-task-was-canceled-httpclient/</guid><description>HttpClient выбрасывает TaskCanceledException по трём разным причинам: таймаут, отмена со стороны вызывающего кода или прерывание на уровне соединения. Различайте их с помощью InnerException и CancellationToken.IsCancellationRequested и устраняйте именно ту, что нужно.</description><pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate></item><item><title>Обновление Copilot Studio до .NET 10 WebAssembly: 20% на холодном пути, 5% на горячем</title><link>https://startdebugging.net/ru/2026/05/copilot-studio-net-10-wasm-performance/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/copilot-studio-net-10-wasm-performance/</guid><description>Microsoft перевела WASM-движок Copilot Studio с .NET 8 на .NET 10. Двойной пакет JIT/AOT, fingerprinting и WasmStripILAfterAOT объясняют цифры.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: The JSON value could not be converted to System.DateTime</title><link>https://startdebugging.net/ru/2026/05/fix-the-json-value-could-not-be-converted-to-system-datetime/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-the-json-value-could-not-be-converted-to-system-datetime/</guid><description>System.Text.Json принимает для DateTime только строки в ISO 8601. Отправляйте 2026-05-08T14:00:00Z или зарегистрируйте JsonConverter, разбирающий ваш формат. Пустые строки и Unix-таймстампы тоже бросают исключение.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate></item><item><title>Workflow в Microsoft Agent Framework теперь переживают перезапуск процесса благодаря стеку Durable Task</title><link>https://startdebugging.net/ru/2026/05/agent-framework-durable-workflows-checkpoint-restart/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/agent-framework-durable-workflows-checkpoint-restart/</guid><description>Оберните Workflow Agent Framework в Microsoft.Agents.AI.DurableTask, и каждый шаг исполнителя получает чекпоинт. Падение, передеплой, перезапуск: запуск продолжится с того же места.</description><pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: The instance of entity type cannot be tracked because another instance with the same key value is already being tracked</title><link>https://startdebugging.net/ru/2026/05/fix-instance-of-entity-type-cannot-be-tracked-same-key-value/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-instance-of-entity-type-cannot-be-tracked-same-key-value/</guid><description>EF Core 11 выбрасывает это исключение, когда два объекта делят первичный ключ внутри одного DbContext. Отсоедините старый или обновите его на месте. AsNoTracking при чтении предотвращает коллизию.</description><pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: A second operation was started on this context instance before a previous operation completed</title><link>https://startdebugging.net/ru/2026/05/fix-second-operation-was-started-on-this-context-instance/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-second-operation-was-started-on-this-context-instance/</guid><description>EF Core выбрасывает это исключение, когда два await выполняются параллельно на одном DbContext. Ожидайте каждый вызов последовательно или получайте новый DbContext на каждую конкурентную единицу работы через IDbContextFactory.</description><pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate></item><item><title>Миграция высокопроизводительного Xamarin.Forms ListView на MAUI CollectionView</title><link>https://startdebugging.net/ru/2026/05/how-to-migrate-a-xamarin-forms-listview-to-maui-collectionview/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-migrate-a-xamarin-forms-listview-to-maui-collectionview/</guid><description>Пошаговая миграция с Xamarin.Forms 5.0 ListView на .NET MAUI 11 CollectionView для приложений, в которых уже выжимали максимум производительности из ListView. Рассмотрены переиспользование ячеек, виртуализация, группировка, pull-to-refresh, контекстные действия, выделение, ItemsLayout, EmptyView и подводные камни, которые встречаются в реальных приложениях.</description><pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft Agent Framework пропускает рискованные вызовы инструментов через FunctionApprovalRequestContent</title><link>https://startdebugging.net/ru/2026/05/agent-framework-human-in-the-loop-tool-approval-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/agent-framework-human-in-the-loop-tool-approval-csharp/</guid><description>Оберните AIFunction в ApprovalRequiredAIFunction, и агент остановится посреди выполнения, чтобы запросить разрешение. Вот как работает поток запроса и ответа в C#.</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate></item><item><title>Как мигрировать Flutter-приложение с GetX на Riverpod</title><link>https://startdebugging.net/ru/2026/05/how-to-migrate-a-flutter-app-from-getx-to-riverpod/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-migrate-a-flutter-app-from-getx-to-riverpod/</guid><description>Пошаговая миграция с GetX на Riverpod 3.x в реальном Flutter-приложении: GetxController в Notifier, .obs в производные провайдеры, Get.find в ref.watch, Get.to в go_router, плюс снэкбары, темы и тесты. Проверено на Flutter 3.27.1, Dart 3.11, flutter_riverpod 3.3.1.</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate></item><item><title>Как профилировать jank во Flutter-приложении с помощью DevTools</title><link>https://startdebugging.net/ru/2026/05/how-to-profile-jank-in-a-flutter-app-with-devtools/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-profile-jank-in-a-flutter-app-with-devtools/</guid><description>Пошаговое руководство по поиску и устранению jank во Flutter 3.27 с DevTools: profile mode, Performance overlay, вкладка Frame Analysis, CPU Profiler, raster vs поток UI, прогрев шейдеров и особенности Impeller. Проверено на Flutter 3.27.1, Dart 3.11, DevTools 2.40.</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate></item><item><title>Как задать акцентный цвет в приложении Flutter с Material 3 ColorScheme</title><link>https://startdebugging.net/ru/2026/05/how-to-set-accent-color-in-flutter-with-material-3-colorscheme/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-set-accent-color-in-flutter-with-material-3-colorscheme/</guid><description>Правильный способ в 2026 году задать акцентный цвет в Flutter с Material 3: ColorScheme.fromSeed, сокращение colorSchemeSeed, семь вариантов DynamicSchemeVariant, тёмная тема, dynamic_color на Android 12+ и гармонизация фирменных цветов. Проверено на Flutter 3.27.1 и Dart 3.11.</description><pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.128 загружает плагины из .zip-архивов и больше не теряет неотправленные коммиты</title><link>https://startdebugging.net/ru/2026/05/claude-code-2-1-128-plugin-zip-worktree-fix/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/claude-code-2-1-128-plugin-zip-worktree-fix/</guid><description>Claude Code v2.1.128 (4 мая 2026) добавляет поддержку --plugin-dir для .zip-архивов, заставляет EnterWorktree создавать ветку от локального HEAD и не позволяет CLI просачивать собственный OTLP endpoint в подпроцессы Bash.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate></item><item><title>Исправление: System.InvalidOperationException: No connection string named &apos;DefaultConnection&apos; could be found</title><link>https://startdebugging.net/ru/2026/05/fix-no-connection-string-named-defaultconnection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/fix-no-connection-string-named-defaultconnection/</guid><description>Если GetConnectionString возвращает null в .NET 11, в вашем appsettings.json нет ключа, файл не копируется в выходной каталог сборки или выбран не тот файл окружения. Три проверки решают 95% случаев.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить платформозависимый код во Flutter без плагинов</title><link>https://startdebugging.net/ru/2026/05/how-to-add-platform-specific-code-in-flutter-without-plugins/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-add-platform-specific-code-in-flutter-without-plugins/</guid><description>Вызов нативного кода Android (Kotlin) и iOS (Swift) из Flutter 3.x без написания плагина: MethodChannel, EventChannel, BasicMessageChannel, таблица типов StandardMessageCodec, правила потоков и случаи, когда плагин всё же выигрывает.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate></item><item><title>Как написать isolate в Dart для CPU-нагруженной работы</title><link>https://startdebugging.net/ru/2026/05/how-to-write-a-dart-isolate-for-cpu-bound-work/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-write-a-dart-isolate-for-cpu-bound-work/</guid><description>Когда async/await недостаточно: запустите isolate в Dart, чтобы вынести CPU-нагруженную работу с UI-потока. Isolate.run, функция compute из Flutter, долгоживущие воркеры с SendPort/ReceivePort, что может пересечь границу, и оговорка для JS/web. Проверено на Dart 3.11 и Flutter 3.27.1.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate></item><item><title>Cursor выпустил TypeScript SDK, превращающий его кодинг-агента в библиотеку</title><link>https://startdebugging.net/ru/2026/05/cursor-typescript-sdk-programmatic-coding-agents/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/cursor-typescript-sdk-programmatic-coding-agents/</guid><description>Новый публичный бета-релиз @cursor/sdk открывает тот же runtime, harness и модели, которые работают за десктопным приложением, CLI и веб-интерфейсом, в виде TypeScript-пакета. Изолированные облачные VM, субагенты, хуки, MCP и оплата по токенам в нескольких строках кода.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate></item><item><title>Как преобразовать T[] в ReadOnlyMemory&lt;T&gt; в C# (неявный оператор и явный конструктор)</title><link>https://startdebugging.net/ru/2026/05/how-to-convert-array-to-readonlymemory-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-convert-array-to-readonlymemory-in-csharp/</guid><description>Три способа обернуть T[] в ReadOnlyMemory&lt;T&gt; в .NET 11: неявное преобразование, явный конструктор и AsMemory(). Когда что выбрать.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate></item><item><title>Как упаковать .NET MAUI приложение для Microsoft Store</title><link>https://startdebugging.net/ru/2026/05/how-to-package-a-maui-app-for-the-microsoft-store/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-package-a-maui-app-for-the-microsoft-store/</guid><description>Полное руководство по упаковке .NET MAUI 11 приложения для Windows как MSIX, объединению x64/x86/ARM64 в .msixupload и отправке через Partner Center: резервирование идентичности, Package.appxmanifest, флаги dotnet publish, объединение через MakeAppx и передача доверенного сертификата Store.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate></item><item><title>Как нацелиться на несколько версий Flutter из одного CI-пайплайна</title><link>https://startdebugging.net/ru/2026/05/how-to-target-multiple-flutter-versions-from-one-ci-pipeline/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-target-multiple-flutter-versions-from-one-ci-pipeline/</guid><description>Практическое руководство по запуску одного Flutter-проекта против нескольких версий SDK в CI: матрица GitHub Actions с subosito/flutter-action v2, .fvmrc от FVM 3 как источник истины, фиксация канала, кеширование и подводные камни, которые кусают, когда матрица вырастает за пределы трёх версий.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.126 добавляет `claude project purge` для очистки всего состояния репозитория</title><link>https://startdebugging.net/ru/2026/05/claude-code-2-1-126-project-purge/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/claude-code-2-1-126-project-purge/</guid><description>Claude Code v2.1.126 включает claude project purge, новую подкоманду CLI, которая удаляет каждую транскрипцию, задачу, запись истории файлов и блок конфигурации, связанные с путём проекта, за одну операцию. Поддерживает --dry-run, --yes, --interactive и --all.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate></item><item><title>Как реализовать drag-and-drop в .NET MAUI 11</title><link>https://startdebugging.net/ru/2026/05/how-to-implement-drag-and-drop-in-maui-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-implement-drag-and-drop-in-maui-11/</guid><description>Полный drag-and-drop в .NET MAUI 11: DragGestureRecognizer, DropGestureRecognizer, пользовательские полезные нагрузки DataPackage, AcceptedOperation, позиция жеста и платформенные ловушки PlatformArgs на Android, iOS, Mac Catalyst и Windows.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate></item><item><title>Как правильно поддержать тёмную тему в приложении .NET MAUI</title><link>https://startdebugging.net/ru/2026/05/how-to-support-dark-mode-correctly-in-a-maui-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-support-dark-mode-correctly-in-a-maui-app/</guid><description>Тёмная тема от и до в .NET MAUI 11: AppThemeBinding, SetAppThemeColor, RequestedTheme, переопределение через UserAppTheme с сохранением, событие RequestedThemeChanged и платформенные нюансы Info.plist и MainActivity, о которых документация умалчивает.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать Tailwind CSS с Blazor WebAssembly в .NET 11</title><link>https://startdebugging.net/ru/2026/05/how-to-use-tailwind-css-with-blazor-webassembly-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-use-tailwind-css-with-blazor-webassembly-in-dotnet-11/</guid><description>Полная настройка Tailwind CSS v4 в приложении Blazor WebAssembly на .NET 11: standalone CLI (без Node), цель MSBuild, директивы @source для файлов Razor и CSS-изоляции, и конвейер публикации, который выживает после Native AOT.</description><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate></item><item><title>Agent Governance Toolkit ставит YAML-политику перед каждым вызовом MCP-инструмента из .NET</title><link>https://startdebugging.net/ru/2026/05/agent-governance-toolkit-mcp-policy-control-dotnet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/agent-governance-toolkit-mcp-policy-control-dotnet/</guid><description>Новый пакет Microsoft.AgentGovernance от Microsoft оборачивает вызовы MCP-инструментов ядром политик, сканером безопасности и санитайзером ответов. Вот что делает каждая часть и как это подключается на C#.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Как обнаружить запросы N+1 в EF Core 11</title><link>https://startdebugging.net/ru/2026/05/how-to-detect-n-plus-1-queries-in-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-detect-n-plus-1-queries-in-ef-core-11/</guid><description>Практическое руководство по выявлению запросов N+1 в EF Core 11: как этот шаблон выглядит в реальном коде, как сделать его видимым через журналы, диагностические перехватчики, OpenTelemetry, и тест, который ломает сборку при регрессии горячего пути.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать скомпилированные запросы EF Core на горячих путях</title><link>https://startdebugging.net/ru/2026/05/how-to-use-compiled-queries-with-ef-core-for-hot-paths/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-use-compiled-queries-with-ef-core-for-hot-paths/</guid><description>Практическое руководство по скомпилированным запросам в EF Core 11: когда EF.CompileAsyncQuery действительно даёт выигрыш, шаблон со статическим полем, подводные камни Include и отслеживания, и как замерить производительность до и после, чтобы убедиться, что дополнительная церемония оправдана.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Как написать MAUI-приложение, работающее только на Windows и macOS (без мобильных)</title><link>https://startdebugging.net/ru/2026/05/how-to-write-a-maui-app-that-runs-on-windows-and-macos-only/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-write-a-maui-app-that-runs-on-windows-and-macos-only/</guid><description>Уберите Android и iOS из проекта .NET MAUI 11, чтобы он публиковался только под Windows и Mac Catalyst: правки csproj, команды workload и multi-targeting, который сохраняет код чистым.</description><pubDate>Sat, 02 May 2026 00:00:00 GMT</pubDate></item><item><title>Как запустить Claude Code в GitHub Action для автономного ревью PR</title><link>https://startdebugging.net/ru/2026/05/how-to-run-claude-code-in-a-github-action-for-autonomous-pr-review/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-run-claude-code-in-a-github-action-for-autonomous-pr-review/</guid><description>Настройте anthropics/claude-code-action@v1, чтобы каждый pull request получал автономное ревью от Claude Code без триггера @claude. Включает YAML для v1, claude_args для claude-sonnet-4-6 и claude-opus-4-7, инструменты для inline-комментариев, фильтры путей, REVIEW.md и выбор между self-hosted action и предварительной исследовательской версией Code Review.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Как настроить структурированное журналирование с Serilog и Seq в .NET 11</title><link>https://startdebugging.net/ru/2026/05/how-to-set-up-structured-logging-with-serilog-and-seq-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-set-up-structured-logging-with-serilog-and-seq-in-dotnet-11/</guid><description>Полное руководство по подключению Serilog 4.x и Seq 2025.2 к приложению .NET 11 ASP.NET Core: AddSerilog против UseSerilog, двухэтапное журналирование при старте, конфигурация через JSON, обогатители, журналирование запросов, корреляция трассировок OpenTelemetry, API-ключи и продакшн-нюансы вокруг буферизации, хранения и уровня сигнала.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать OpenTelemetry с .NET 11 и бесплатным бэкендом</title><link>https://startdebugging.net/ru/2026/05/how-to-use-opentelemetry-with-dotnet-11-and-a-free-backend/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-use-opentelemetry-with-dotnet-11-and-a-free-backend/</guid><description>Подключите трейсы, метрики и логи OpenTelemetry в приложение ASP.NET Core .NET 11 через OTLP-экспортёр и отправляйте данные на бесплатный самохостинг-бэкенд: standalone Aspire Dashboard для локальной разработки, Jaeger и SigNoz для самохостинговой продакшн-среды и OpenTelemetry Collector, когда нужны и тот и другой.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Как писать интеграционные тесты против настоящего SQL Server с помощью Testcontainers</title><link>https://startdebugging.net/ru/2026/05/how-to-write-integration-tests-against-real-sql-server-with-testcontainers/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/how-to-write-integration-tests-against-real-sql-server-with-testcontainers/</guid><description>Полное руководство по запуску интеграционных тестов ASP.NET Core против настоящего SQL Server 2022 с использованием Testcontainers 4.11 и EF Core 11: настройка WebApplicationFactory, IAsyncLifetime, подмена регистрации DbContext, применение миграций, параллелизм, очистка через Ryuk и подводные камни CI.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>VSTest отказывается от Newtonsoft.Json в .NET 11 Preview 4 и что сломается, если вы полагались на него транзитивно</title><link>https://startdebugging.net/ru/2026/05/vstest-removes-newtonsoft-json-dotnet-11-preview-4/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/05/vstest-removes-newtonsoft-json-dotnet-11-preview-4/</guid><description>.NET 11 Preview 4 и Visual Studio 18.8 поставляют VSTest, который больше не протаскивает Newtonsoft.Json в ваши тестовые проекты. Сборки, тихо использовавшие транзитивную копию, сломаются, и чинятся одной строкой PackageReference.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.122 позволяет выбрать уровень сервиса Bedrock через переменную окружения</title><link>https://startdebugging.net/ru/2026/04/claude-code-2-1-122-bedrock-service-tier/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/claude-code-2-1-122-bedrock-service-tier/</guid><description>Claude Code v2.1.122 добавляет переменную окружения ANTHROPIC_BEDROCK_SERVICE_TIER, отправляемую как заголовок X-Amzn-Bedrock-Service-Tier. Установите flex для скидки 50 процентов на вызовы агента или priority для более быстрых ответов, без изменений кода SDK.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить ограничение скорости для отдельных endpoint в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/04/how-to-add-per-endpoint-rate-limiting-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-add-per-endpoint-rate-limiting-in-aspnetcore-11/</guid><description>Полное руководство по ограничению скорости (rate limiting) для отдельных endpoint в ASP.NET Core 11: когда выбирать fixed window против sliding window, token bucket или concurrency, чем отличаются RequireRateLimiting и [EnableRateLimiting], партиционирование по пользователю или IP, callback OnRejected и ловушка распределённого развёртывания, в которую попадают все.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как вызвать Claude API из Minimal API на .NET 11 со стримингом</title><link>https://startdebugging.net/ru/2026/04/how-to-call-the-claude-api-from-a-net-11-minimal-api-with-streaming/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-call-the-claude-api-from-a-net-11-minimal-api-with-streaming/</guid><description>Стримьте ответы Claude из minimal API на ASP.NET Core 11 от начала до конца: официальный Anthropic .NET SDK, TypedResults.ServerSentEvents, SseItem, IAsyncEnumerable, поток отмены и подводные камни, которые молча буферизуют ваши токены. С примерами для Claude Sonnet 4.6 и Opus 4.7.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать новый тип System.Threading.Lock в .NET 11</title><link>https://startdebugging.net/ru/2026/04/how-to-use-the-new-system-threading-lock-type-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-use-the-new-system-threading-lock-type-in-dotnet-11/</guid><description>System.Threading.Lock появился в .NET 9 и стал стандартной примитивой синхронизации в .NET 11 и C# 14. Это руководство показывает, как мигрировать с lock(object), как работает EnterScope и какие подводные камни связаны с await, dynamic и поддержкой старых таргетов.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как написать генератор исходного кода для INotifyPropertyChanged</title><link>https://startdebugging.net/ru/2026/04/how-to-write-a-source-generator-for-inotifypropertychanged/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-write-a-source-generator-for-inotifypropertychanged/</guid><description>Полное руководство по созданию собственного инкрементального генератора исходного кода для INotifyPropertyChanged в C# 14 и .NET 11: пайплайн IIncrementalGenerator, маркерные атрибуты, вывод partial class, паттерн SetProperty и как оставаться совместимым с AOT.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate></item><item><title>cowork-terminal-mcp: доступ к терминалу хоста для Claude Cowork в одном MCP-сервере</title><link>https://startdebugging.net/ru/2026/04/cowork-terminal-mcp-host-terminal-access-for-claude-cowork/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/cowork-terminal-mcp-host-terminal-access-for-claude-cowork/</guid><description>cowork-terminal-mcp v0.4.1 связывает изолированную ВМ Claude Cowork с шеллом вашего хоста. Один инструмент, транспорт stdio, жёстко зафиксированный Git Bash на Windows.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Экспорт диалогов Claude Code в PDF с помощью jsonl-to-pdf</title><link>https://startdebugging.net/ru/2026/04/export-claude-code-conversations-to-pdf-with-jsonl-to-pdf/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/export-claude-code-conversations-to-pdf-with-jsonl-to-pdf/</guid><description>Практическое руководство по превращению JSONL-файлов, которые Claude Code пишет в ~/.claude/projects/, в готовые к публикации PDF с помощью jsonl-to-pdf, с вложенностью субагентов, скрытием секретов, компактной и тёмной темами и рецептами для CI.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить prompt caching в приложение на Anthropic SDK и измерить долю попаданий в кеш</title><link>https://startdebugging.net/ru/2026/04/how-to-add-prompt-caching-to-an-anthropic-sdk-app-and-measure-the-hit-rate/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-add-prompt-caching-to-an-anthropic-sdk-app-and-measure-the-hit-rate/</guid><description>Добавьте prompt caching в приложение на Python или TypeScript с Anthropic SDK, правильно расставьте точки cache_control и читайте cache_read_input_tokens и cache_creation_input_tokens, чтобы посчитать реальную долю попаданий в кеш. С расчётом цены для Claude Sonnet 4.6 и Opus 4.7.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как определить, что запись файла в .NET завершена</title><link>https://startdebugging.net/ru/2026/04/how-to-detect-when-a-file-finishes-being-written-to-in-dotnet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-detect-when-a-file-finishes-being-written-to-in-dotnet/</guid><description>FileSystemWatcher срабатывает на Changed до того, как писатель закончил. Три надёжных паттерна для .NET 11, чтобы узнать, что файл полностью записан: открытие с FileShare.None, дебаунс по стабилизации размера и трюк с переименованием на стороне продьюсера, который полностью устраняет проблему.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как разделить логику валидации между сервером и Blazor WebAssembly</title><link>https://startdebugging.net/ru/2026/04/how-to-share-validation-logic-between-server-and-blazor-webassembly/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-share-validation-logic-between-server-and-blazor-webassembly/</guid><description>Главный источник расхождений в валидации между Blazor WebAssembly клиентом и ASP.NET Core API -- это соблазн писать правила дважды. Это руководство показывает единственную раскладку, которая масштабируется в .NET 11: библиотека классов Shared, владеющая DTO и их валидаторами, потребляемая и WASM клиентом (EditForm + DataAnnotationsValidator или Blazored.FluentValidation), и сервером (фильтр endpoint в minimal API или model binding в MVC), с протестированным циклом, который возвращает серверные ValidationProblemDetails обратно в EditContext.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как правильно использовать SearchValues&lt;T&gt; в .NET 11</title><link>https://startdebugging.net/ru/2026/04/how-to-use-searchvalues-correctly-in-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-use-searchvalues-correctly-in-dotnet-11/</guid><description>SearchValues&lt;T&gt; обгоняет IndexOfAny в 5-250 раз, но только если использовать его так, как ожидает среда выполнения. Правило кеширования через static, ловушка StringComparison, когда не стоит и недокументированный трюк инверсии через IndexOfAnyExcept.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>SkiaSharp 4.0 Preview 1: неизменяемый SKPath, переменные шрифты и новый со-мейнтейнер</title><link>https://startdebugging.net/ru/2026/04/skiasharp-4-0-preview-1-uno-platform-comaintainer/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/skiasharp-4-0-preview-1-uno-platform-comaintainer/</guid><description>SkiaSharp 4.0 Preview 1 выходит вместе с Uno Platform в роли со-мейнтейнера рядом с командой .NET. SKPath становится неизменяемым за новым SKPathBuilder, а HarfBuzzSharp получает полное управление осями переменных шрифтов OpenType.</description><pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Asp.Versioning 10.0 наконец-то дружит со встроенным OpenAPI в .NET 10</title><link>https://startdebugging.net/ru/2026/04/api-versioning-openapi-dotnet-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/api-versioning-openapi-dotnet-10/</guid><description>Asp.Versioning 10.0 — это первый релиз, нацеленный на .NET 10 и новый пайплайн Microsoft.AspNetCore.OpenApi. Руководство Сандера тен Бринке от 23 апреля показывает, как зарегистрировать отдельный документ OpenAPI на каждую версию API с помощью WithDocumentPerVersion().</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить потоки аутентификации OpenAPI в Swagger UI на .NET 11</title><link>https://startdebugging.net/ru/2026/04/how-to-add-openapi-authentication-flows-to-swagger-ui-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-add-openapi-authentication-flows-to-swagger-ui-dotnet-11/</guid><description>В .NET 11 документ OpenAPI генерирует Microsoft.AspNetCore.OpenApi, а Swagger UI больше не входит в шаблон. Разбор того, как подключить Bearer, OAuth2 с PKCE и OpenID Connect, чтобы кнопка Authorize действительно работала.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как реализовать refresh-токены в ASP.NET Core Identity</title><link>https://startdebugging.net/ru/2026/04/how-to-implement-refresh-tokens-in-aspnetcore-identity/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-implement-refresh-tokens-in-aspnetcore-identity/</guid><description>Два рабочих пути в .NET 11: встроенный эндпоинт /refresh из MapIdentityApi и собственная реализация на JWT с ротацией refresh-токенов, отслеживанием семейства и детекцией повторного использования.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как загрузить большой файл потоком в Azure Blob Storage</title><link>https://startdebugging.net/ru/2026/04/how-to-upload-a-large-file-with-streaming-to-azure-blob-storage/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-upload-a-large-file-with-streaming-to-azure-blob-storage/</guid><description>Загружайте многогигабайтные файлы в Azure Blob Storage из .NET 11, не помещая их в память. BlockBlobClient.UploadAsync со StorageTransferOptions, MultipartReader для загрузок в ASP.NET Core, и ловушки буферизации, которые отправляют ваш payload на LOH.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как написать CLAUDE.md, который действительно меняет поведение модели</title><link>https://startdebugging.net/ru/2026/04/how-to-write-a-claude-md-that-actually-changes-model-behaviour/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-write-a-claude-md-that-actually-changes-model-behaviour/</guid><description>Руководство 2026 года по файлам CLAUDE.md, которым Claude Code действительно следует: ориентир в 200 строк, когда использовать правила с привязкой к путям в .claude/rules/, иерархия @import и предел в 5 переходов, разница между сообщением пользователя и системным prompt, граница между CLAUDE.md и автоматической памятью, и когда сдаться и написать hook. Привязано к Claude Code 2.1.x и проверено по официальной документации памяти.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code 2.1.119 подтягивает PR из GitLab, Bitbucket и GitHub Enterprise</title><link>https://startdebugging.net/ru/2026/04/claude-code-2-1-119-from-pr-gitlab-bitbucket/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/claude-code-2-1-119-from-pr-gitlab-bitbucket/</guid><description>Claude Code v2.1.119 расширяет --from-pr за пределы github.com. CLI теперь принимает URL merge request из GitLab, pull request из Bitbucket и PR из GitHub Enterprise, а новая настройка prUrlTemplate направляет бейдж в подвале на нужный хост code review.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как сократить время холодного старта AWS Lambda на .NET 11</title><link>https://startdebugging.net/ru/2026/04/how-to-reduce-cold-start-time-for-a-dotnet-11-aws-lambda/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-reduce-cold-start-time-for-a-dotnet-11-aws-lambda/</guid><description>Практичный, привязанный к версиям сценарий сокращения холодного старта Lambda на .NET 11. Покрывает Native AOT на provided.al2023, ReadyToRun, SnapStart на управляемом runtime dotnet10, тюнинг памяти, переиспользование статических полей, безопасность trim и как реально читать INIT_DURATION.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как запланировать повторяющуюся задачу Claude Code, которая классифицирует issues GitHub</title><link>https://startdebugging.net/ru/2026/04/how-to-schedule-a-recurring-claude-code-task-that-triages-github-issues/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-schedule-a-recurring-claude-code-task-that-triages-github-issues/</guid><description>Три способа поставить Claude Code на расписание, классифицирующее issues GitHub без присмотра в 2026: облачные Routines (новая /schedule), claude-code-action v1 с cron + issues.opened и /loop в рамках сессии. Включает запускаемый prompt Routine, полный YAML GitHub Actions, ловушки jitter и identity, и когда выбирать что.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать Native AOT с минимальными API ASP.NET Core</title><link>https://startdebugging.net/ru/2026/04/how-to-use-native-aot-with-aspnetcore-minimal-apis/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-use-native-aot-with-aspnetcore-minimal-apis/</guid><description>Полное руководство для .NET 11 по выпуску минимального API ASP.NET Core с Native AOT: PublishAot, CreateSlimBuilder, JSON с генератором исходного кода, ограничение AddControllers, предупреждения IL2026 / IL3050 и EnableRequestDelegateGenerator для библиотечных проектов.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как прогреть модель EF Core до первого запроса</title><link>https://startdebugging.net/ru/2026/04/how-to-warm-up-ef-core-model-before-the-first-query/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-warm-up-ef-core-model-before-the-first-query/</guid><description>EF Core строит свою концептуальную модель лениво при первом обращении к DbContext, поэтому первый запрос в свежем процессе на несколько сотен миллисекунд медленнее любого последующего. Это руководство охватывает три реальных решения в EF Core 11: стартовый IHostedService, который трогает Model и открывает соединение, dotnet ef dbcontext optimize для поставки предкомпилированной модели, и подводные камни ключа кеша, которые всё равно молча перестраивают модель.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate></item><item><title>BYOK в GitHub Copilot Chat вышел в GA в VS Code: Anthropic, Ollama, Foundry Local</title><link>https://startdebugging.net/ru/2026/04/github-copilot-vs-code-byok-anthropic-ollama-foundry-local/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/github-copilot-vs-code-byok-anthropic-ollama-foundry-local/</guid><description>GitHub Copilot для VS Code выпустил Bring Your Own Key 22 апреля 2026 года. Подключите свою учётную запись Anthropic, OpenAI, Gemini, OpenRouter или Azure к Chat либо укажите локальную модель через Ollama или Foundry Local. Биллинг минует квоту Copilot и идёт напрямую к провайдеру.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как добавить глобальный фильтр исключений в ASP.NET Core 11</title><link>https://startdebugging.net/ru/2026/04/how-to-add-a-global-exception-filter-in-aspnetcore-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-add-a-global-exception-filter-in-aspnetcore-11/</guid><description>Полное руководство по глобальной обработке исключений в ASP.NET Core 11: почему IExceptionFilter — неподходящий инструмент, как IExceptionHandler и UseExceptionHandler работают вместе, ответы ProblemDetails, цепочки из нескольких обработчиков и ломающее изменение в .NET 10 о подавлении диагностики.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как построить собственный MCP-сервер на C# в .NET 11</title><link>https://startdebugging.net/ru/2026/04/how-to-build-a-custom-mcp-server-in-csharp-on-net-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-build-a-custom-mcp-server-in-csharp-on-net-11/</guid><description>Постройте рабочий сервер Model Context Protocol на C# 14 / .NET 11, используя официальный SDK ModelContextProtocol 1.2. Рассмотрены транспорт stdio, атрибуты [McpServerTool], внедрение зависимостей, ловушка с журналированием в stderr и регистрация в Claude Code, Claude Desktop и VS Code.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как мокать DbContext, не ломая отслеживание изменений</title><link>https://startdebugging.net/ru/2026/04/how-to-mock-dbcontext-without-breaking-change-tracking/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-mock-dbcontext-without-breaking-change-tracking/</guid><description>Прямое мокание DbContext незаметно ломает ChangeTracker, поэтому Microsoft не рекомендует так делать. Это руководство показывает два паттерна, которые действительно работают в EF Core 11: SQLite в памяти с удерживаемым открытым соединением, чтобы запускался настоящий ChangeTracker, и паттерн репозитория, полностью убирающий EF Core из теста.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как писать модульные тесты для кода, использующего HttpClient</title><link>https://startdebugging.net/ru/2026/04/how-to-unit-test-code-that-uses-httpclient/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-unit-test-code-that-uses-httpclient/</guid><description>Полное руководство по тестированию HttpClient в .NET 11: почему не стоит мокать HttpClient напрямую, как написать stub HttpMessageHandler, заменить primary handler через IHttpClientFactory, проверить повторы Polly и вариант WireMock.Net.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Aspire 13.2.4 закрывает CVE-2026-40894: DoS через заголовок baggage в OpenTelemetry .NET</title><link>https://startdebugging.net/ru/2026/04/aspire-13-2-4-opentelemetry-cve-2026-40894-baggage-dos/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/aspire-13-2-4-opentelemetry-cve-2026-40894-baggage-dos/</guid><description>Aspire 13.2.4 поднимает зависимости OpenTelemetry для устранения CVE-2026-40894, усиления выделений в Gen0 при разборе пропагаторов baggage, B3 и Jaeger. Обновите OpenTelemetry.Api и OpenTelemetry.Extensions.Propagators до 1.15.3, даже если вы не используете Aspire.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как построить собственный MCP-сервер на Python с официальным SDK</title><link>https://startdebugging.net/ru/2026/04/how-to-build-a-custom-mcp-server-in-python-with-the-official-sdk/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-build-a-custom-mcp-server-in-python-with-the-official-sdk/</guid><description>Постройте рабочий сервер Model Context Protocol на Python, используя официальный SDK mcp 1.27 и FastMCP. Рассмотрены схемы Pydantic, ловушка stdout в stdio, mcp dev / mcp install и регистрация в Claude Desktop и Claude Code.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как профилировать приложение .NET с помощью dotnet-trace и читать вывод</title><link>https://startdebugging.net/ru/2026/04/how-to-profile-a-dotnet-app-with-dotnet-trace-and-read-the-output/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-profile-a-dotnet-app-with-dotnet-trace-and-read-the-output/</guid><description>Полное руководство по профилированию приложений .NET 11 с dotnet-trace: установка, выбор подходящего профиля, захват с момента старта и чтение .nettrace в PerfView, Visual Studio, Speedscope или Perfetto.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать Channels вместо BlockingCollection в C#</title><link>https://startdebugging.net/ru/2026/04/how-to-use-channels-instead-of-blockingcollection-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-use-channels-instead-of-blockingcollection-in-csharp/</guid><description>System.Threading.Channels это асинхронная замена BlockingCollection в .NET 11. В руководстве показано, как мигрировать, как выбирать между ограниченным и неограниченным каналом, и как обрабатывать backpressure, отмену и корректное завершение без deadlock-ов.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как написать пользовательский JsonConverter в System.Text.Json</title><link>https://startdebugging.net/ru/2026/04/how-to-write-a-custom-jsonconverter-in-system-text-json/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-write-a-custom-jsonconverter-in-system-text-json/</guid><description>Полное руководство по написанию пользовательского JsonConverter&lt;T&gt; для System.Text.Json в .NET 11: когда он действительно нужен, как корректно работать с Utf8JsonReader, как обрабатывать обобщённые типы с помощью JsonConverterFactory и как оставаться совместимым с AOT.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>.NET 10 на Ubuntu 26.04: resolute-теги контейнеров и Native AOT в archive</title><link>https://startdebugging.net/ru/2026/04/dotnet-10-ubuntu-2604-resolute-container-tags/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-10-ubuntu-2604-resolute-container-tags/</guid><description>Ubuntu 26.04 Resolute Raccoon поставляется с .NET 10 в archive, вводит теги контейнеров -resolute вместо -noble и упаковывает инструментарий Native AOT через dotnet-sdk-aot-10.0.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как создать пользовательский MCP-сервер на TypeScript, оборачивающий CLI</title><link>https://startdebugging.net/ru/2026/04/how-to-build-an-mcp-server-in-typescript-that-wraps-a-cli/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-build-an-mcp-server-in-typescript-that-wraps-a-cli/</guid><description>Пошаговое руководство по обёртыванию любого инструмента командной строки в виде сервера Model Context Protocol с использованием TypeScript SDK 1.29. Охватывает ловушку stdout, шаблоны child_process, распространение ошибок и полный рабочий git-сервер.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как генерировать строго типизированный клиентский код из спецификации OpenAPI в .NET 11</title><link>https://startdebugging.net/ru/2026/04/how-to-generate-strongly-typed-client-from-openapi-spec-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-generate-strongly-typed-client-from-openapi-spec-dotnet-11/</guid><description>Используйте Kiota, официальный генератор OpenAPI от Microsoft, для создания fluent-клиента на C# со строгой типизацией из любой спецификации OpenAPI. Пошагово: установка, генерация, подключение к DI в ASP.NET Core и настройка аутентификации.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как прочитать большой CSV в .NET 11 и не словить нехватку памяти</title><link>https://startdebugging.net/ru/2026/04/how-to-read-a-large-csv-in-dotnet-11-without-running-out-of-memory/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-read-a-large-csv-in-dotnet-11-without-running-out-of-memory/</guid><description>Стримьте CSV в несколько гигабайт на .NET 11 без OutOfMemoryException. File.ReadLines, CsvHelper, Sylvan и Pipelines в сравнении с кодом и измерениями.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как передавать файл из конечной точки ASP.NET Core без буферизации</title><link>https://startdebugging.net/ru/2026/04/how-to-stream-a-file-from-an-aspnetcore-endpoint-without-buffering/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-stream-a-file-from-an-aspnetcore-endpoint-without-buffering/</guid><description>Отдавайте большие файлы из ASP.NET Core 11, не загружая их в память. Три уровня: PhysicalFileResult для файлов на диске, Results.Stream для произвольных потоков и Response.BodyWriter для генерируемого контента -- с кодом для каждого случая.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 Preview 3 добавляет RemoveDbContext для чистых свопов провайдера в тестах</title><link>https://startdebugging.net/ru/2026/04/efcore-11-removedbcontext-pooled-factory-test-swap/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/efcore-11-removedbcontext-pooled-factory-test-swap/</guid><description>EF Core 11 Preview 3 вводит RemoveDbContext, RemoveExtension и безпараметровую перегрузку AddPooledDbContextFactory, убирая boilerplate вокруг смены провайдеров в тестах и централизуя конфигурацию pooled factory.</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как отменить долго работающую Task в C# без взаимной блокировки</title><link>https://startdebugging.net/ru/2026/04/how-to-cancel-a-long-running-task-in-csharp-without-deadlocking/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-cancel-a-long-running-task-in-csharp-without-deadlocking/</guid><description>Кооперативная отмена с CancellationToken, CancelAsync, Task.WaitAsync и связанными токенами в .NET 11. Плюс блокирующие паттерны, превращающие чистую отмену в дедлок.</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Azure MCP Server едет внутри Visual Studio 2022 17.14.30, расширение не требуется</title><link>https://startdebugging.net/ru/2026/04/azure-mcp-server-visual-studio-2022-17-14-30/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/azure-mcp-server-visual-studio-2022-17-14-30/</guid><description>Visual Studio 2022 17.14.30 встраивает Azure MCP Server в workload разработки Azure. Copilot Chat может достучаться до более чем 230 инструментов Azure в 45 сервисах, ничего не устанавливая.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как использовать IAsyncEnumerable&lt;T&gt; с EF Core 11</title><link>https://startdebugging.net/ru/2026/04/how-to-use-iasyncenumerable-with-ef-core-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-use-iasyncenumerable-with-ef-core-11/</guid><description>Запросы EF Core 11 напрямую реализуют IAsyncEnumerable&lt;T&gt;. Как стримить строки через await foreach, когда предпочесть его вместо ToListAsync, и подводные камни со соединениями, трекингом и отменой.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>.NET 10.0.7 выходит out-of-band, чтобы закрыть CVE-2026-40372 в ASP.NET Core Data Protection</title><link>https://startdebugging.net/ru/2026/04/dotnet-10-0-7-oob-cve-2026-40372-dataprotection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-10-0-7-oob-cve-2026-40372-dataprotection/</guid><description>Дефект валидации HMAC в Microsoft.AspNetCore.DataProtection 10.0.0 до 10.0.6 позволяет атакующим подделывать ciphertexts. .NET 10.0.7 - обязательный фикс.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как правильно использовать records с EF Core 11</title><link>https://startdebugging.net/ru/2026/04/how-to-use-records-with-ef-core-11-correctly/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-use-records-with-ef-core-11-correctly/</guid><description>Практическое руководство по сочетанию records C# и EF Core 11. Где records подходят, где они ломают change tracking, и как моделировать value objects, сущности и проекции, не воюя с фреймворком.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Node.js Addons на C#: .NET Native AOT заменяет C++ и node-gyp</title><link>https://startdebugging.net/ru/2026/04/nodejs-addons-dotnet-native-aot/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/nodejs-addons-dotnet-native-aot/</guid><description>Команда C# Dev Kit сменила свой C++ Node.js addon на библиотеку .NET 10 Native AOT, используя N-API, UnmanagedCallersOnly и LibraryImport для производства единого файла .node без Python и node-gyp.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Debugger Agent в Visual Studio 18.5 превращает Copilot в живого напарника по охоте на баги</title><link>https://startdebugging.net/ru/2026/04/visual-studio-18-5-debugger-agent-workflow/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/visual-studio-18-5-debugger-agent-workflow/</guid><description>Visual Studio 18.5 GA поставляет гайдед workflow Debugger Agent в Copilot Chat, который формирует гипотезу, ставит breakpoints, едет вместе через repro, валидирует против runtime state и предлагает fix.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Kestrel начинает обрабатывать HTTP/3 запросы до SETTINGS-кадра в .NET 11 Preview 3</title><link>https://startdebugging.net/ru/2026/04/aspnetcore-11-kestrel-http3-early-request-processing/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/aspnetcore-11-kestrel-http3-early-request-processing/</guid><description>.NET 11 Preview 3 позволяет Kestrel обслуживать HTTP/3 запросы до прибытия control stream и SETTINGS-кадра пира, срезая задержку handshake у первого запроса каждого нового QUIC-соединения.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 транслирует Contains в JSON_CONTAINS на SQL Server 2025</title><link>https://startdebugging.net/ru/2026/04/efcore-11-json-contains-sql-server-2025/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/efcore-11-json-contains-sql-server-2025/</guid><description>EF Core 11 автоматически транслирует LINQ Contains по JSON-коллекциям в новую функцию JSON_CONTAINS из SQL Server 2025 и добавляет EF.Functions.JsonContains для запросов с путём и режимом, способных задействовать JSON-индекс.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как вернуть несколько значений из метода в C# 14</title><link>https://startdebugging.net/ru/2026/04/how-to-return-multiple-values-from-a-method-in-csharp-14/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/how-to-return-multiple-values-from-a-method-in-csharp-14/</guid><description>Семь способов вернуть больше одного значения из метода C# 14: именованные кортежи, out-параметры, records, структуры, деконструкция и трюк с extension members для типов, которыми вы не владеете. Реальные бенчмарки и таблица решений в конце.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Agent Skills приходят в Visual Studio 2026 18.5: Copilot автоматически находит SKILL.md в вашем репозитории</title><link>https://startdebugging.net/ru/2026/04/visual-studio-2026-copilot-agent-skills/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/visual-studio-2026-copilot-agent-skills/</guid><description>Visual Studio 2026 18.5.0 позволяет GitHub Copilot подгружать Agent Skills из .github/skills, .claude/skills и ~/.copilot/skills. Переиспользуемые пакеты инструкций SKILL.md путешествуют вместе с репозиторием.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate></item><item><title>RyuJIT обрезает больше bounds checks в .NET 11 Preview 3: index-from-end и i + константа</title><link>https://startdebugging.net/ru/2026/04/jit-bounds-check-elimination-index-from-end-dotnet-11-preview-3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/jit-bounds-check-elimination-index-from-end-dotnet-11-preview-3/</guid><description>.NET 11 Preview 3 учит RyuJIT убирать избыточные bounds checks в последовательных index-from-end обращениях и в паттернах i + константа &lt; length, снижая давление branch в плотных циклах.</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate></item><item><title>RegexOptions.AnyNewLine приземляется в .NET 11 Preview 3: Unicode-aware anchors без хаков \r?</title><link>https://startdebugging.net/ru/2026/04/regex-anynewline-dotnet-11-preview-3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/regex-anynewline-dotnet-11-preview-3/</guid><description>.NET 11 Preview 3 добавляет RegexOptions.AnyNewLine так, что ^, $, \Z и . распознают любую Unicode-последовательность newline, включая \r\n, NEL, LS и PS, с \r\n трактуемым как один атомарный разрыв.</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Aspire 13.2 --isolated: запускайте параллельные экземпляры AppHost без конфликтов портов</title><link>https://startdebugging.net/ru/2026/04/aspire-13-2-isolated-mode-parallel-apphost-instances/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/aspire-13-2-isolated-mode-parallel-apphost-instances/</guid><description>Aspire 13.2 поставляет флаг --isolated, дающий каждому aspire run свои случайные порты и store secrets. Разблокирует multi-checkout работу, worktree-агенты и интеграционные тесты, требующие живой AppHost.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>dotnet sln наконец редактирует solution filters из CLI в .NET 11 Preview 3</title><link>https://startdebugging.net/ru/2026/04/dotnet-11-sln-cli-solution-filters/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-11-sln-cli-solution-filters/</guid><description>.NET 11 Preview 3 учит dotnet sln создавать, добавлять, удалять и перечислять проекты в solution filters .slnf, так что крупные моно-репозитории могут грузить подмножество без открытия Visual Studio.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 Preview 3: dotnet run -e задаёт переменные окружения без launch profiles</title><link>https://startdebugging.net/ru/2026/04/dotnet-11-preview-3-dotnet-run-environment-variables/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-11-preview-3-dotnet-run-environment-variables/</guid><description>dotnet run -e в .NET 11 Preview 3 передаёт переменные окружения напрямую из CLI и поднимает их как MSBuild items RuntimeEnvironmentVariable.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>dotnet watch в .NET 11 Preview 3: Aspire-хосты, crash recovery и вменяемый Ctrl+C</title><link>https://startdebugging.net/ru/2026/04/dotnet-watch-11-preview-3-aspire-crash-recovery/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-watch-11-preview-3-aspire-crash-recovery/</guid><description>dotnet watch получает интеграцию с Aspire app host, автоматический перезапуск после крашей и починенную обработку Ctrl+C для Windows desktop-приложений в .NET 11 Preview 3.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 вырезает ненужные reference joins в split queries</title><link>https://startdebugging.net/ru/2026/04/efcore-11-preview-3-prunes-reference-joins-split-queries/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/efcore-11-preview-3-prunes-reference-joins-split-queries/</guid><description>EF Core 11 Preview 3 убирает избыточные to-one joins из split queries и роняет ненужные ORDER BY ключи. Один заявленный сценарий стал на 29% быстрее, другой на 22%. Вот как теперь выглядит SQL.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>System.Text.Json в .NET 11 Preview 3 добавляет PascalCase и политики именования на уровне члена</title><link>https://startdebugging.net/ru/2026/04/system-text-json-11-pascalcase-per-member-naming/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/system-text-json-11-pascalcase-per-member-naming/</guid><description>.NET 11 Preview 3 завершает историю с политиками именования в System.Text.Json: JsonNamingPolicy.PascalCase, атрибут [JsonNamingPolicy] на уровне члена и дефолт [JsonIgnore] на уровне типа для более чистых DTO.</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Blazor Virtualize наконец умеет в элементы переменной высоты в .NET 11</title><link>https://startdebugging.net/ru/2026/04/blazor-virtualize-variable-height-dotnet-11-preview-3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/blazor-virtualize-variable-height-dotnet-11-preview-3/</guid><description>ASP.NET Core в .NET 11 Preview 3 учит компонент Virtualize измерять элементы в runtime, устраняя spacing- и scroll-джиттер, вызванный допущениями о равной высоте.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Pin clustering приземляется в .NET MAUI 11 Maps</title><link>https://startdebugging.net/ru/2026/04/dotnet-maui-11-map-pin-clustering/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-maui-11-map-pin-clustering/</guid><description>.NET MAUI 11 Preview 3 добавляет встроенный pin clustering в контрол Map на Android и iOS, с группами ClusteringIdentifier и событием ClusterClicked.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 добавляет GetEntriesForState, чтобы пропустить DetectChanges</title><link>https://startdebugging.net/ru/2026/04/efcore-11-changetracker-getentriesforstate/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/efcore-11-changetracker-getentriesforstate/</guid><description>EF Core 11 Preview 3 вводит ChangeTracker.GetEntriesForState, state-фильтрованный enumerator, избегающий лишнего прохода DetectChanges в hot paths вроде SaveChanges interceptors и audit hooks.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title>.NET MAUI 11 поставляется со встроенным LongPressGestureRecognizer</title><link>https://startdebugging.net/ru/2026/04/maui-11-long-press-gesture-recognizer/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/maui-11-long-press-gesture-recognizer/</guid><description>.NET MAUI 11 Preview 3 добавляет LongPressGestureRecognizer как жест first-party, с duration, порогом движения, событиями state и command-binding, заменяя распространённый behavior из Community Toolkit.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Создание движка базы данных с микросекундной задержкой на C#</title><link>https://startdebugging.net/ru/2026/04/building-a-microsecond-database-engine-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/building-a-microsecond-database-engine-in-csharp/</guid><description>Проект Typhon Лоика Бауманна нацелен на ACID-коммиты за 1-2 микросекунды с использованием ref struct, аппаратных интринсиков и закреплённой памяти, доказывая, что C# может конкурировать на уровне системного программирования.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Пользовательские операторы составного присваивания в C# 14: += in-place без лишней аллокации</title><link>https://startdebugging.net/ru/2026/04/csharp-14-user-defined-compound-assignment-operators/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/csharp-14-user-defined-compound-assignment-operators/</guid><description>C# 14 позволяет перегружать +=, -=, *= и компанию как void-методы экземпляра, мутирующие приёмник in-place, сокращая аллокации для крупных хранителей значений вроде буферов в стиле BigInteger и тензоров.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как дефолтные nvarchar-параметры Dapper молча убивают ваши индексы SQL Server</title><link>https://startdebugging.net/ru/2026/04/dapper-nvarchar-implicit-conversion-kills-sql-server-indexes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dapper-nvarchar-implicit-conversion-kills-sql-server-indexes/</guid><description>C#-строки, отправленные через Dapper, по умолчанию становятся nvarchar(4000), заставляя SQL Server выполнять implicit conversion и полные scan индекса. Вот как починить через DbType.AnsiString.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 включает transactional batches Cosmos DB по умолчанию</title><link>https://startdebugging.net/ru/2026/04/efcore-11-cosmos-transactional-batches/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/efcore-11-cosmos-transactional-batches/</guid><description>EF Core 11 группирует writes Cosmos DB в transactional batches по container и partition на каждом SaveChanges, давая best-effort атомарность и меньше roundtrips без изменений кода.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>GitHub Copilot Modernization: отчёт assessment и есть настоящий продукт</title><link>https://startdebugging.net/ru/2026/04/github-copilot-modernization-assessment-dotnet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/github-copilot-modernization-assessment-dotnet/</guid><description>GitHub Copilot Modernization подаётся как цикл Assess, Plan, Execute для миграции legacy .NET-приложений. Фаза assessment - где живёт ценность: inventory-отчёт, категоризированные blockers, и file-level remediation guidance, которую можно diffать как код.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Hot Reload auto-restart в Visual Studio 2026: rude edits перестают убивать debug-сессию</title><link>https://startdebugging.net/ru/2026/04/visual-studio-2026-hot-reload-auto-restart-rude-edits/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/visual-studio-2026-hot-reload-auto-restart-rude-edits/</guid><description>Visual Studio 2026 добавляет HotReloadAutoRestart, project-level opt-in, перезапускающий приложение, когда rude edit иначе завершил бы debug-сессию. Особенно полезно для проектов Razor и Aspire.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Blazor SSR наконец получает TempData в .NET 11</title><link>https://startdebugging.net/ru/2026/04/blazor-ssr-tempdata-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/blazor-ssr-tempdata-dotnet-11/</guid><description>ASP.NET Core в .NET 11 Preview 2 приносит TempData в статический серверный рендеринг Blazor, позволяя flash-сообщения и потоки Post-Redirect-Get без обходных путей.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Аргументы выражений-коллекций C# 15: передавайте конструкторы инлайн с with(...)</title><link>https://startdebugging.net/ru/2026/04/csharp-15-collection-expression-arguments/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/csharp-15-collection-expression-arguments/</guid><description>C# 15 добавляет элемент with(...) в выражения-коллекции, позволяя передавать ёмкость, компараторы и другие аргументы конструктора прямо в инициализаторе.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>.NET 11 добавляет нативное Zstandard-сжатие в System.IO.Compression</title><link>https://startdebugging.net/ru/2026/04/dotnet-11-zstandard-compression-system-io/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-11-zstandard-compression-system-io/</guid><description>.NET 11 Preview 1 поставляет ZstandardStream, ZstandardEncoder и ZstandardDecoder в System.IO.Compression, давая быструю встроенную поддержку zstd без сторонних пакетов.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 позволяет создать и применить миграцию одной командой</title><link>https://startdebugging.net/ru/2026/04/efcore-11-single-step-migrations-dotnet-ef-update-add/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/efcore-11-single-step-migrations-dotnet-ef-update-add/</guid><description>Команда dotnet ef database update теперь принимает --add для создания и применения миграции в одном шаге. Вот как это работает, почему это важно для контейнеров и .NET Aspire, и на что обратить внимание.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>EF Core 11 добавляет нативный векторный поиск SQL Server с индексами DiskANN</title><link>https://startdebugging.net/ru/2026/04/efcore-11-sql-server-vector-search-diskann-indexes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/efcore-11-sql-server-vector-search-diskann-indexes/</guid><description>EF Core 11 Preview 2 поддерживает VECTOR_SEARCH() из SQL Server 2025 и векторные индексы DiskANN прямо из LINQ. Вот как настроить индекс, выполнять приближённые запросы, и что меняется по сравнению с подходом VectorDistance из EF Core 10.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Fluorite: Toyota построила игровой движок консольного уровня на Flutter и Dart</title><link>https://startdebugging.net/ru/2026/04/fluorite-toyota-console-grade-game-engine-flutter-dart/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/fluorite-toyota-console-grade-game-engine-flutter-dart/</guid><description>Fluorite -- это игровой движок 3D с открытым исходным кодом, встраивающий рендеринг Google Filament в виджеты Flutter и позволяющий писать игровую логику на Dart.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Rider 2026.1 поставляет просмотрщик ASM для вывода JIT, ReadyToRun и NativeAOT</title><link>https://startdebugging.net/ru/2026/04/rider-2026-1-asm-viewer-jit-nativeaot-disassembly/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/rider-2026-1-asm-viewer-jit-nativeaot-disassembly/</guid><description>Rider 2026.1 добавляет плагин .NET Disassembler, позволяющий инспектировать машинный код, генерируемый компиляторами JIT, ReadyToRun и NativeAOT, не покидая IDE.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate></item><item><title>ASP.NET Core 11 поставляет нативную трассировку OpenTelemetry: уберите дополнительный NuGet-пакет</title><link>https://startdebugging.net/ru/2026/04/aspnetcore-11-native-opentelemetry-tracing/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/aspnetcore-11-native-opentelemetry-tracing/</guid><description>ASP.NET Core в .NET 11 Preview 2 добавляет семантические атрибуты OpenTelemetry прямо в активность HTTP-сервера, устраняя необходимость в OpenTelemetry.Instrumentation.AspNetCore.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>ReSharper приходит в VS Code и Cursor, бесплатно для некоммерческого использования</title><link>https://startdebugging.net/ru/2026/04/resharper-for-vscode-cursor-free-for-oss/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/resharper-for-vscode-cursor-free-for-oss/</guid><description>JetBrains выпустила ReSharper как расширение для VS Code с полным анализом C#, рефакторингом и юнит-тестированием. Работает также в Cursor и Google Antigravity, и ничего не стоит для OSS и обучения.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Union-типы C# 15 здесь: типы-объединения поставляются в .NET 11 Preview 2</title><link>https://startdebugging.net/ru/2026/04/csharp-15-union-types-dotnet-11-preview-2/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/csharp-15-union-types-dotnet-11-preview-2/</guid><description>C# 15 вводит ключевое слово union для типов-объединений с исчерпывающим сопоставлением с образцом и неявными преобразованиями. Доступно прямо сейчас в .NET 11 Preview 2.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Kestrel отказывается от исключений в HTTP/1.1-парсере в .NET 11</title><link>https://startdebugging.net/ru/2026/04/kestrel-non-throwing-parser-dotnet-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/kestrel-non-throwing-parser-dotnet-11/</guid><description>Парсер HTTP/1.1-запросов Kestrel в .NET 11 заменяет BadHttpRequestException на структуру результата, сокращая накладные расходы на некорректные запросы до 40%.</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft Agent Framework 1.0: создание ИИ-агентов на чистом C#</title><link>https://startdebugging.net/ru/2026/04/microsoft-agent-framework-1-0-ai-agents-in-csharp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/microsoft-agent-framework-1-0-ai-agents-in-csharp/</guid><description>Microsoft Agent Framework достигает 1.0 со стабильными API, мульти-провайдерными коннекторами, мульти-агентной оркестрацией и совместимостью A2A/MCP. Вот как это выглядит на практике в .NET 10.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Runtime Async из .NET 11 заменяет state machines более чистыми трассировками стека</title><link>https://startdebugging.net/ru/2026/04/dotnet-11-runtime-async-cleaner-stack-traces/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-11-runtime-async-cleaner-stack-traces/</guid><description>Runtime Async в .NET 11 переносит обработку async/await из state machines, генерируемых компилятором, в саму среду выполнения, давая читаемые трассировки стека, корректные точки останова и меньше выделений в куче.</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate></item><item><title>dotnet new webworker: первоклассные Web Workers для Blazor в .NET 11 Preview 2</title><link>https://startdebugging.net/ru/2026/04/dotnet-11-preview-2-blazor-webworker-template/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/04/dotnet-11-preview-2-blazor-webworker-template/</guid><description>Новый шаблон проекта в .NET 11 Preview 2 генерирует JS-сантехнику, WebWorkerClient и шаблонный JSExport-код, необходимый для запуска .NET-кода в Web Worker браузера.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Как на самом деле выглядят 878 PR Copilot Coding Agent в dotnet/runtime</title><link>https://startdebugging.net/ru/2026/03/copilot-coding-agent-dotnet-runtime-ten-months-data/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/03/copilot-coding-agent-dotnet-runtime-ten-months-data/</guid><description>Команда .NET делится десятью месяцами реальных данных по запуску GitHub Copilot Coding Agent в dotnet/runtime: 878 PR, коэффициент слияния 67,9% и чёткие уроки о том, где разработка с помощью ИИ помогает и где всё ещё не дотягивает.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Generative AI for Beginners .NET v2: перестроен для .NET 10 с Microsoft.Extensions.AI</title><link>https://startdebugging.net/ru/2026/03/generative-ai-beginners-dotnet-v2-dotnet10-meai/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/03/generative-ai-beginners-dotnet-v2-dotnet10-meai/</guid><description>Бесплатный курс по генеративному ИИ для .NET-разработчиков от Microsoft выпускает Версию 2, перестроенную для .NET 10 и мигрированную с Semantic Kernel на шаблон IChatClient из Microsoft.Extensions.AI.</description><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Члены расширений в C# 14: свойства расширений, операторы и статические расширения</title><link>https://startdebugging.net/ru/2026/02/csharp-14-extension-members/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/csharp-14-extension-members/</guid><description>C# 14 вводит члены расширений, позволяя добавлять свойства расширений, операторы и статические члены к существующим типам с помощью нового ключевого слова extension.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Идея для C# 14: интерцепторы могли бы сделать генерацию исходного кода System.Text.Json автоматической</title><link>https://startdebugging.net/ru/2026/02/csharp-14-interceptors-system-text-json-source-generation-ergonomics/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/csharp-14-interceptors-system-text-json-source-generation-ergonomics/</guid><description>Обсуждение в сообществе предложило использовать интерцепторы C# 14 для переписывания вызовов JsonSerializer, чтобы они автоматически использовали сгенерированный JsonSerializerContext, сохраняя AOT-совместимую генерацию исходного кода с более чистыми точками вызова.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Null-условное присваивание в C# 14: использование ?. и ?[] в левой части</title><link>https://startdebugging.net/ru/2026/02/csharp-14-null-conditional-assignment/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/csharp-14-null-conditional-assignment/</guid><description>C# 14 расширяет null-условные операторы, позволяя использовать их в левой части присваиваний и устраняя многословные проверки на null при установке свойств или индексаторов.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Постквантовая криптография в .NET 10: ML-KEM, ML-DSA и SLH-DSA</title><link>https://startdebugging.net/ru/2026/02/dotnet-10-post-quantum-cryptography-ml-kem-ml-dsa-slh-dsa/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/dotnet-10-post-quantum-cryptography-ml-kem-ml-dsa-slh-dsa/</guid><description>.NET 10 добавляет нативную поддержку постквантовых криптографических алгоритмов ML-KEM, ML-DSA и SLH-DSA, готовя ваши приложения к квантово-устойчивому будущему.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Polars.NET: движок DataFrame на Rust для .NET 10, опирающийся на LibraryImport</title><link>https://startdebugging.net/ru/2026/02/dotnet-polarsnet-rust-dataframe-engine-with-libraryimport/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/dotnet-polarsnet-rust-dataframe-engine-with-libraryimport/</guid><description>Новый проект Polars.NET в тренде после поста сообщества от 6 февраля 2026 года. Заголовок прост: дружественный к .NET API DataFrame, поддерживаемый Rust Polars, со стабильным C ABI и interop на основе LibraryImport, чтобы поддерживать низкие накладные расходы.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Flutter: Droido 1.2.0 -- сетевой инспектор только для debug с нулевым влиянием на release</title><link>https://startdebugging.net/ru/2026/02/flutter-droido-1-2-0-debug-only-network-inspector-with-zero-release-impact/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/flutter-droido-1-2-0-debug-only-network-inspector-with-zero-release-impact/</guid><description>Droido 1.2.0 вышел 8 февраля 2026 года как сетевой инспектор только для debug для Flutter. Интересна не UI. Это история упаковки: держать современный инспектор в debug-сборках, гарантируя, что release-сборки остаются чистыми, маленькими и незатронутыми.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>biometric_signature 10.0.0: `simplePrompt()` это фича, новые значения `BiometricError` это настоящий breaking change (Flutter 3.x)</title><link>https://startdebugging.net/ru/2026/02/biometric_signature-10-0-0-simpleprompt-is-the-feature-new-biometricerror-values-are-the-real-breaking-change-flutter-3-x/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/biometric_signature-10-0-0-simpleprompt-is-the-feature-new-biometricerror-values-are-the-real-breaking-change-flutter-3-x/</guid><description>biometric_signature 10.0.0 добавляет simplePrompt() и новые значения BiometricError. Как обработать breaking change и подстраховать ваши auth-флоу на Flutter 3.x на будущее.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title>TrailBase v0.23.7: альтернатива Firebase в одном бинарнике для .NET 10 и Flutter</title><link>https://startdebugging.net/ru/2026/02/trailbase-v0-23-7-a-single-executable-firebase-alternative-that-plays-nicely-with-net-10-and-flutter-3-x/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/trailbase-v0-23-7-a-single-executable-firebase-alternative-that-plays-nicely-with-net-10-and-flutter-3-x/</guid><description>TrailBase - это бэкенд с открытым исходным кодом в виде одного исполняемого файла, построенный на Rust, SQLite и Wasmtime. Версия 0.23.7 включает исправления UI и улучшенную обработку ошибок.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title>.NET Framework 3.5 становится автономным в новых сборках Windows: что ломается</title><link>https://startdebugging.net/ru/2026/02/net-framework-3-5-is-going-standalone-on-new-windows-builds-what-breaks-in-automation/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/02/net-framework-3-5-is-going-standalone-on-new-windows-builds-what-breaks-in-automation/</guid><description>Начиная с Windows 11 Build 27965, .NET Framework 3.5 больше не является дополнительным компонентом Windows. Вот что ломается в CI, провижининге и эталонных образах, и как это исправить.</description><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Отладка Flutter iOS из Windows: рабочий процесс с реальным устройством (Flutter 3.x)</title><link>https://startdebugging.net/ru/2026/01/debugging-flutter-ios-from-windows-a-real-device-workflow-flutter-3-x/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/debugging-flutter-ios-from-windows-a-real-device-workflow-flutter-3-x/</guid><description>Прагматичный рабочий процесс для отладки приложений Flutter iOS из Windows: вынесите сборку на macOS в GitHub Actions, установите IPA на реальный iPhone и используйте flutter attach для hot reload и DevTools.</description><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Flutter Particles 2.0.2: краткий обзор (и небольшой фрагмент интеграции) на Flutter 3.x</title><link>https://startdebugging.net/ru/2026/01/flutter-particles-2-0-2-a-quick-tour-and-a-tiny-integration-snippet-on-flutter-3-x/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/flutter-particles-2-0-2-a-quick-tour-and-a-tiny-integration-snippet-on-flutter-3-x/</guid><description>particles_flutter 2.0.2 добавляет формы частиц, вращение, режимы границ и эмиттеры. Краткий обзор изменений и небольшой фрагмент интеграции для проектов Flutter 3.x.</description><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Спам запросов “become owner” в NuGet: что делать (и что закрыть) в .NET 9/.NET 10</title><link>https://startdebugging.net/ru/2026/01/nuget-become-owner-request-spam-what-to-do-and-what-to-lock-down-in-net-9-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/nuget-become-owner-request-spam-what-to-do-and-what-to-lock-down-in-net-9-net-10/</guid><description>Защитите свои .NET-пакеты от спама запросов на владение в NuGet. Lock-файлы, Package Source Mapping и практики Central Package Management для .NET 9 и .NET 10.</description><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Scalar в ASP.NET Core: почему ваш Bearer-токен игнорируется (.NET 10)</title><link>https://startdebugging.net/ru/2026/01/scalar-in-asp-net-core-why-your-bearer-token-is-ignored-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/scalar-in-asp-net-core-why-your-bearer-token-is-ignored-net-10/</guid><description>Если ваш Bearer-токен работает в Postman, но не в Scalar, проблема скорее всего в OpenAPI-документе. Как объявить корректную security-схему в .NET 10.</description><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate></item><item><title>TreatWarningsAsErrors без саботажа dev-сборок (.NET 10)</title><link>https://startdebugging.net/ru/2026/01/treatwarningsaserrors-without-sabotaging-dev-builds-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/treatwarningsaserrors-without-sabotaging-dev-builds-net-10/</guid><description>Как обеспечить TreatWarningsAsErrors в сборках Release и CI, оставив Debug гибким для локальной разработки на .NET 10, с помощью Directory.Build.props.</description><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Perfetto + dotnet-trace: практический цикл профилирования для .NET 9/.NET 10</title><link>https://startdebugging.net/ru/2026/01/perfetto-dotnet-trace-a-practical-profiling-loop-for-net-9-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/perfetto-dotnet-trace-a-practical-profiling-loop-for-net-9-net-10/</guid><description>Практический цикл профилирования для .NET 9 и .NET 10: захватывайте трассировки с помощью dotnet-trace, визуализируйте их в Perfetto и итеративно разбирайтесь с проблемами CPU, GC и пула потоков.</description><pubDate>Wed, 21 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Open-source SSH-менеджер на WPF показывает практичный шаблон: xterm.js в WebView2, секреты через DPAPI</title><link>https://startdebugging.net/ru/2026/01/an-open-source-wpf-ssh-manager-shows-a-practical-pattern-xterm-js-in-webview2-secrets-via-dpapi/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/an-open-source-wpf-ssh-manager-shows-a-practical-pattern-xterm-js-in-webview2-secrets-via-dpapi/</guid><description>SshManager - это open-source SSH-менеджер на WPF, построенный на .NET 8. Он показывает практичный шаблон: xterm.js внутри WebView2 для отрисовки терминала, EF Core + SQLite для хранения и DPAPI для защиты локальных учётных данных.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Приложение заметок &quot;только локально&quot; на WinUI 3 - правильная скучность: offline-first, SQLite, упор на клавиатуру</title><link>https://startdebugging.net/ru/2026/01/a-winui-3-local-only-notes-app-is-the-right-kind-of-boring-offline-first-sqlite-keyboard-first/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/a-winui-3-local-only-notes-app-is-the-right-kind-of-boring-offline-first-sqlite-keyboard-first/</guid><description>Miyanyedi Quick Note - это приложение заметок на WinUI 3 + SQLite, offline-first и дружественное к приватности. Почему &quot;только локально&quot; - это фича, плюс минимальный SQLite-сниппет для десктопных приложений на .NET 8.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>CV Shortlist: SaaS на .NET 10 с ИИ стал open-source, и стек стоит изучить</title><link>https://startdebugging.net/ru/2026/01/cv-shortlist-an-ai-powered-net-10-saas-went-open-source-and-the-stack-is-worth-studying/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/cv-shortlist-an-ai-powered-net-10-saas-went-open-source-and-the-stack-is-worth-studying/</guid><description>CV Shortlist - это open-source SaaS на .NET 10, который сочетает Azure Document Intelligence с моделью OpenAI. Стек, дисциплина конфигурации и граница интеграции с ИИ заслуживают изучения.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Flutter Text: деталь `leadingDistribution`, меняющая то, как &quot;дышит&quot; ваш UI</title><link>https://startdebugging.net/ru/2026/01/flutter-text-the-leadingdistribution-detail-that-changes-how-your-ui-breathes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/flutter-text-the-leadingdistribution-detail-that-changes-how-your-ui-breathes/</guid><description>Свойство leadingDistribution в TextHeightBehavior во Flutter управляет тем, как дополнительное leading распределяется над и под глифами. Вот когда это важно и как починить текст, который выглядит вертикально смещённым.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>ModularPipelines V3: пишите CI-пайплайны на C#, отлаживайте локально и перестаньте нянчить YAML</title><link>https://startdebugging.net/ru/2026/01/modularpipelines-v3-write-ci-pipelines-in-c-debug-locally-stop-babysitting-yaml/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/modularpipelines-v3-write-ci-pipelines-in-c-debug-locally-stop-babysitting-yaml/</guid><description>ModularPipelines V3 позволяет писать CI-пайплайны на C# вместо YAML. Запускайте их локально через dotnet run, получайте безопасность времени компиляции и отлаживайте с точками останова.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>TypeMonkey хорошо напоминает: десктопным приложениям на Flutter сначала нужна архитектура, потом полировка</title><link>https://startdebugging.net/ru/2026/01/typemonkey-is-a-good-reminder-flutter-desktop-apps-need-architecture-first-polish-later/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/typemonkey-is-a-good-reminder-flutter-desktop-apps-need-architecture-first-polish-later/</guid><description>TypeMonkey, десктопное приложение для тренировки набора текста на Flutter, показывает, почему десктопным проектам нужна чистая архитектура с первого дня: sealed-состояния, границы по интерфейсам и тестируемая логика.</description><pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Dev-теги Dart 3.12 выходят быстро: как их читать (и что делать) как разработчику Flutter 3.x</title><link>https://startdebugging.net/ru/2026/01/dart-3-12-dev-tags-are-moving-fast-how-to-read-them-and-what-to-do-as-a-flutter-3-x-developer/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/dart-3-12-dev-tags-are-moving-fast-how-to-read-them-and-what-to-do-as-a-flutter-3-x-developer/</guid><description>Dev-теги Dart 3.12 появляются быстро. Вот как читать строку версии, зафиксировать dev SDK в CI и сортировать сбои, чтобы ваша миграция Flutter 3.x была маленьким PR, а не пожарной тревогой.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Разверните .NET-приложение с Podman + systemd: стабильные перезапуски, настоящие логи, без магии</title><link>https://startdebugging.net/ru/2026/01/deploy-a-net-app-with-podman-systemd-stable-restarts-real-logs-no-magic/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/deploy-a-net-app-with-podman-systemd-stable-restarts-real-logs-no-magic/</guid><description>Развёртывание сервисов .NET 9 и .NET 10 на Linux-VM с помощью Podman и systemd. Стабильные перезапуски, настоящие логи через journald и контейнеризированное приложение, управляемое как полноценный сервис -- без Kubernetes.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Flet в 2026: UI на Flutter, логика на Python и компромиссы, которые нужно признать с самого начала</title><link>https://startdebugging.net/ru/2026/01/flet-in-2026-flutter-ui-python-logic-and-the-trade-offs-you-need-to-admit-upfront/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/flet-in-2026-flutter-ui-python-logic-and-the-trade-offs-you-need-to-admit-upfront/</guid><description>Flet позволяет строить интерфейсы Flutter с логикой на Python. Вот реальные компромиссы: задержки от обмена событиями, несоответствие экосистемы плагинам Dart и отладка с разделённым мозгом, плюс когда это действительно имеет смысл.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Flutter 3.x получает новый строительный блок &quot;оффлайн-RAG&quot;: `mobile_rag_engine` (ядро на Rust)</title><link>https://startdebugging.net/ru/2026/01/flutter-3-x-gets-a-new-offline-rag-building-block-mobile_rag_engine-rust-core/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/flutter-3-x-gets-a-new-offline-rag-building-block-mobile_rag_engine-rust-core/</guid><description>mobile_rag_engine приносит RAG прямо на устройство во Flutter с ядром на Rust, эмбеддингами через ONNX, векторным поиском HNSW и хранилищем на SQLite. Практический взгляд на API, поток интеграции и ограничения поставки.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>FlutterGuard CLI: быстрая проверка &quot;что может извлечь атакующий?&quot; для приложений Flutter 3.x</title><link>https://startdebugging.net/ru/2026/01/flutterguard-cli-a-fast-what-can-an-attacker-extract-check-for-flutter-3-x-apps/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/flutterguard-cli-a-fast-what-can-an-attacker-extract-check-for-flutter-3-x-apps/</guid><description>FlutterGuard CLI сканирует артефакты сборки вашего Flutter 3.x-приложения на предмет утёкших секретов, отладочных символов и метаданных. Практичный рабочий процесс для интеграции его в CI и обработки находок.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>gRPC в контейнерах кажется сложным в .NET 9 и .NET 10: 4 ловушки, которые можно исправить</title><link>https://startdebugging.net/ru/2026/01/grpc-in-containers-feels-hard-in-net-9-and-net-10-4-traps-you-can-fix/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/grpc-in-containers-feels-hard-in-net-9-and-net-10-4-traps-you-can-fix/</guid><description>Четыре частые ловушки при размещении gRPC в контейнерах с .NET 9 и .NET 10: несовпадение протокола HTTP/2, путаница с терминацией TLS, сломанные health-проверки и неверная настройка прокси -- с исправлением для каждой.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Microsoft `mcp`: подключаем серверы Model Context Protocol на C# в .NET 10</title><link>https://startdebugging.net/ru/2026/01/microsoft-mcp-wiring-model-context-protocol-servers-from-c-on-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/microsoft-mcp-wiring-model-context-protocol-servers-from-c-on-net-10/</guid><description>Как подключить серверы Model Context Protocol (MCP) на C# в .NET 10 с помощью microsoft/mcp. Контракты инструментов, валидация ввода, аутентификация, наблюдаемость и шаблоны для продакшна.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Мониторинг фоновых задач в .NET 9 и .NET 10 без Hangfire: здоровье + метрики + оповещения</title><link>https://startdebugging.net/ru/2026/01/monitor-background-jobs-in-net-9-and-net-10-without-hangfire-health-metrics-alerts/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/monitor-background-jobs-in-net-9-and-net-10-without-hangfire-health-metrics-alerts/</guid><description>Мониторинг задач BackgroundService в .NET 9 и .NET 10 без Hangfire с помощью heartbeat-проверок здоровья, метрик длительности и оповещений о сбоях, с практическим примером кода.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Файловые приложения .NET 10 получили скрипты из нескольких файлов: на подходе `#:include`</title><link>https://startdebugging.net/ru/2026/01/net-10-file-based-apps-just-got-multi-file-scripts-include-is-landing/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/net-10-file-based-apps-just-got-multi-file-scripts-include-is-landing/</guid><description>.NET 10 добавляет поддержку #:include для файловых приложений, позволяя скриптам, запускаемым через dotnet run, охватывать несколько .cs файлов без создания полноценного проекта.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>SBOM для .NET в Docker: перестаньте пытаться заставить один инструмент видеть всё</title><link>https://startdebugging.net/ru/2026/01/sbom-for-net-in-docker-stop-trying-to-force-one-tool-to-see-everything/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/sbom-for-net-in-docker-stop-trying-to-force-one-tool-to-see-everything/</guid><description>Как отслеживать зависимости NuGet и пакеты ОС контейнера для Docker-образа .NET с помощью CycloneDX, Syft и Dependency-Track -- и почему одного SBOM недостаточно.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>System.CommandLine v2, но с уже готовой обвязкой: `Albatross.CommandLine` v8</title><link>https://startdebugging.net/ru/2026/01/system-commandline-v2-but-with-the-wiring-done-for-you-albatross-commandline-v8/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/system-commandline-v2-but-with-the-wiring-done-for-you-albatross-commandline-v8/</guid><description>Albatross.CommandLine v8 строится поверх System.CommandLine v2 и добавляет генератор исходного кода, интеграцию с DI и слой хостинга, чтобы убрать шаблонный код CLI в приложениях .NET 9 и .NET 10.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Wave-IDE в 2026: минимальная обвязка Roslyn под IDE на WinForms на .NET 10</title><link>https://startdebugging.net/ru/2026/01/wave-ide-in-2026-the-minimum-roslyn-plumbing-behind-a-winforms-ide-on-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/wave-ide-in-2026-the-minimum-roslyn-plumbing-behind-a-winforms-ide-on-net-10/</guid><description>Wave-IDE показывает, что WinForms и Roslyn на .NET 10 - это уже достаточно, чтобы построить рабочий C#-IDE. Вот минимальная обвязка для инкрементального анализа, автодополнения и диагностики.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>AWS Lambda поддерживает .NET 10: что проверить перед переключением среды выполнения</title><link>https://startdebugging.net/ru/2026/01/aws-lambda-supports-net-10-what-to-verify-before-you-flip-the-runtime/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/aws-lambda-supports-net-10-what-to-verify-before-you-flip-the-runtime/</guid><description>AWS Lambda теперь поддерживает .NET 10, но обновление среды выполнения это не самая сложная часть. Вот практический чек-лист, охватывающий cold starts, trimming, native AOT и форму развёртывания.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Flutter 3.38.6 и поднятие `engine.version`: воспроизводимые сборки становятся проще (если вы их закрепите)</title><link>https://startdebugging.net/ru/2026/01/flutter-3-38-6-and-the-engine-version-bump-reproducible-builds-get-easier-if-you-pin-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/flutter-3-38-6-and-the-engine-version-bump-reproducible-builds-get-easier-if-you-pin-it/</guid><description>Flutter 3.38.6 поднял engine.version, и это важно для воспроизводимых сборок. Узнайте, как закрепить SDK в CI, избежать дрейфа engine и диагностировать &apos;что изменилось&apos;, когда сборки ломаются без изменений кода.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Маршрутизация в Flutter 3.x: tp_router пытается удалить вашу таблицу маршрутов (и это привлекательная идея)</title><link>https://startdebugging.net/ru/2026/01/flutter-3-x-routing-tp_router-tries-to-delete-your-route-table-and-its-a-compelling-idea/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/flutter-3-x-routing-tp_router-tries-to-delete-your-route-table-and-its-a-compelling-idea/</guid><description>tp_router это управляемый генератором роутер для Flutter, устраняющий ручные таблицы маршрутов. Аннотируйте страницы, запустите build_runner и навигируйте через типизированные API вместо строковых путей.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>.NET 10 раздул ваш список NIC? Фильтрация GetAllNetworkInterfaces() без самообмана</title><link>https://startdebugging.net/ru/2026/01/net-10-made-your-nic-list-explode-filtering-getallnetworkinterfaces-without-lying-to-yourself/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/net-10-made-your-nic-list-explode-filtering-getallnetworkinterfaces-without-lying-to-yourself/</guid><description>Как фильтровать GetAllNetworkInterfaces() в .NET 10, когда виртуальные адаптеры из Hyper-V, Docker, WSL и VPN затопляют список. Включает двухступенчатый фильтр с явными компромиссами.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Queryable Encryption и векторный поиск в провайдере MongoDB EF Core (и почему это важно для .NET 9 и .NET 10)</title><link>https://startdebugging.net/ru/2026/01/queryable-encryption-vector-search-in-the-mongodb-ef-core-provider-and-why-it-matters-for-net-9-and-net-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/queryable-encryption-vector-search-in-the-mongodb-ef-core-provider-and-why-it-matters-for-net-9-and-net-10/</guid><description>Провайдер MongoDB EF Core теперь поддерживает Queryable Encryption и векторный поиск. Что это значит для приложений на .NET 9 и .NET 10, уже использующих EF Core.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>SwitchMediator v3: медиатор без аллокаций, который остаётся дружелюбным к AOT</title><link>https://startdebugging.net/ru/2026/01/switchmediator-v3-a-zero-alloc-mediator-that-stays-friendly-to-aot/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/switchmediator-v3-a-zero-alloc-mediator-that-stays-friendly-to-aot/</guid><description>SwitchMediator v3 нацелен на бесаллокационный, AOT-дружественный диспатч для CQRS-сервисов на .NET 9 и .NET 10. Что это значит и как замерить собственный медиатор.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Производительность .NET 10: SearchValues</title><link>https://startdebugging.net/ru/2026/01/net-10-performance-searchvalues/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/net-10-performance-searchvalues/</guid><description>Используйте SearchValues в .NET 10 для высокопроизводительного поиска по нескольким строкам. Заменяет циклы foreach на сопоставление, ускоренное SIMD, с алгоритмами Aho-Corasick и Teddy.</description><pubDate>Sun, 04 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Стриминг задач с Task.WhenEach в .NET 9</title><link>https://startdebugging.net/ru/2026/01/streaming-tasks-with-net-9-task-wheneach/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/streaming-tasks-with-net-9-task-wheneach/</guid><description>.NET 9 представляет Task.WhenEach, возвращающий IAsyncEnumerable задач по мере их завершения. Вот как это упрощает обработку параллельных результатов по мере поступления.</description><pubDate>Sun, 04 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Предложение C#: дискриминированные объединения</title><link>https://startdebugging.net/ru/2026/01/csharp-proposal-discriminated-unions/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/csharp-proposal-discriminated-unions/</guid><description>Обзор предложения о дискриминированных объединениях в C#: ключевое слово union, исчерпывающее сопоставление с образцом и как оно может заменить библиотеки OneOf и иерархии классов.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate></item><item><title>C# 13: конец выделениям `params`</title><link>https://startdebugging.net/ru/2026/01/c-13-the-end-of-params-allocations/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/c-13-the-end-of-params-allocations/</guid><description>C# 13 наконец устраняет скрытое выделение массива за params. Теперь params можно использовать со Span, ReadOnlySpan, List и другими типами коллекций для вариадических методов без выделений.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate></item><item><title>.NET 9: конец lock(object)</title><link>https://startdebugging.net/ru/2026/01/net-9-the-end-of-lockobject/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/net-9-the-end-of-lockobject/</guid><description>В .NET 9 появилась System.Threading.Lock -- выделенная лёгкая примитива синхронизации, заменяющая lock(object) лучшей производительностью и более ясным намерением.</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Оптимизация подсчёта частот с LINQ CountBy</title><link>https://startdebugging.net/ru/2026/01/optimizing-frequency-counting-with-linq-countby/</link><guid isPermaLink="true">https://startdebugging.net/ru/2026/01/optimizing-frequency-counting-with-linq-countby/</guid><description>Замените GroupBy на CountBy в .NET 9 ради более чистого и эффективного подсчёта частот. Снижает выделения с O(N) до O(K), пропуская промежуточные структуры группировки.</description><pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate></item><item><title>.NET 10: размещение массивов value-типов на стеке</title><link>https://startdebugging.net/ru/2025/04/net-10-stack-allocation-of-arrays-of-value-types/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/net-10-stack-allocation-of-arrays-of-value-types/</guid><description>В .NET 10 JIT может размещать на стеке небольшие массивы фиксированного размера из value-типов, исключая выделение памяти в куче и обеспечивая до 60% прироста производительности по сравнению с .NET 9.</description><pubDate>Sat, 12 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Что нового в .NET MAUI 10</title><link>https://startdebugging.net/ru/2025/04/whats-new-in-net-maui-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/whats-new-in-net-maui-10/</guid><description>Краткий обзор новых возможностей, улучшений и обратно несовместимых изменений в .NET MAUI 10, выпущенном вместе с .NET 10 и C# 14 в ноябре 2025 года.</description><pubDate>Fri, 11 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Как изменить цвет иконки SearchBar в .NET MAUI</title><link>https://startdebugging.net/ru/2025/04/how-to-change-searchbars-icon-color-in-net-maui/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/how-to-change-searchbars-icon-color-in-net-maui/</guid><description>Как изменить цвет иконки SearchBar в .NET MAUI с помощью нового свойства SearchIconColor, появившегося в .NET 10.</description><pubDate>Thu, 10 Apr 2025 00:00:00 GMT</pubDate></item><item><title>C# 14: упрощённые параметры с модификаторами в лямбдах</title><link>https://startdebugging.net/ru/2025/04/c-14-simplified-parameters-with-modifiers-in-lambdas/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/c-14-simplified-parameters-with-modifiers-in-lambdas/</guid><description>В C# 14 модификаторы ref, out, in, scoped и ref readonly можно применять к лямбда-параметрам с неявно выводимыми типами, что избавляет от необходимости явно указывать типы параметров.</description><pubDate>Wed, 09 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Partial-конструкторы и события в C# 14</title><link>https://startdebugging.net/ru/2025/04/csharp-14-partial-constructors-and-events/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/csharp-14-partial-constructors-and-events/</guid><description>C# 14 позволяет объявлять конструкторы экземпляров и события как partial-члены, разделяя определения между файлами для более чистой генерации кода и разделения ответственности.</description><pubDate>Tue, 08 Apr 2025 00:00:00 GMT</pubDate></item><item><title>C# 14: поддержка nameof для несвязанных универсальных типов</title><link>https://startdebugging.net/ru/2025/04/c-14-nameof-support-for-unbound-generic-types/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/c-14-nameof-support-for-unbound-generic-types/</guid><description>C# 14 расширяет выражение nameof, добавляя поддержку несвязанных универсальных типов, таких как List&lt;&gt; и Dictionary&lt;,&gt;, устраняя необходимость в фиктивных аргументах типа.</description><pubDate>Mon, 07 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Неявные преобразования Span в C# 14: первоклассная поддержка Span и ReadOnlySpan</title><link>https://startdebugging.net/ru/2025/04/implicit-span-conversions-in-c-14-first-class-support-for-span-and-readonlyspan/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/implicit-span-conversions-in-c-14-first-class-support-for-span-and-readonlyspan/</guid><description>C# 14 добавляет встроенные неявные преобразования между Span, ReadOnlySpan, массивами и строками, что даёт более чистые API, лучшее выведение типов и меньше ручных вызовов AsSpan().</description><pubDate>Sun, 06 Apr 2025 00:00:00 GMT</pubDate></item><item><title>.NET 10: улучшения производительности перебора массивов (де-абстракция массивов в JIT)</title><link>https://startdebugging.net/ru/2025/04/net-10-array-ennumeration-performance-improvements-jit-array-de-abstraction/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/net-10-array-ennumeration-performance-improvements-jit-array-de-abstraction/</guid><description>В .NET 10 JIT-компилятор уменьшает накладные расходы при переборе массивов через интерфейсы. Смотрите бенчмарки .NET 9 vs .NET 10 с foreach, IEnumerable и условным анализом побега.</description><pubDate>Sun, 06 Apr 2025 00:00:00 GMT</pubDate></item><item><title>C# 14: ключевое слово field и свойства, опирающиеся на field</title><link>https://startdebugging.net/ru/2025/04/c-14-the-field-keyword-and-field-backed-properties/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/04/c-14-the-field-keyword-and-field-backed-properties/</guid><description>C# 14 вводит контекстное ключевое слово field в акцессорах свойств, позволяя добавлять собственную логику к авто-свойствам без отдельного объявления резервного поля.</description><pubDate>Sat, 05 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Производительность .NET: ToList vs ToArray</title><link>https://startdebugging.net/ru/2025/01/net-performance-tolist-vs-toarray/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/01/net-performance-tolist-vs-toarray/</guid><description>.NET 9 значительно улучшает производительность ToArray за счёт InlineArray, делая его быстрее и экономнее по памяти, чем ToList. Смотрите бенчмарки сравнения .NET 8 и .NET 9.</description><pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate></item><item><title>C# 13: используйте params-коллекции с любым распознаваемым типом коллекции</title><link>https://startdebugging.net/ru/2025/01/csharp-13-params-collections/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/01/csharp-13-params-collections/</guid><description>C# 13 расширяет модификатор params за пределы массивов, поддерживая Span, ReadOnlySpan, IEnumerable и другие типы коллекций, что уменьшает шаблонный код и повышает гибкость.</description><pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Как перейти на C# 13</title><link>https://startdebugging.net/ru/2025/01/how-to-switch-to-c-13/</link><guid isPermaLink="true">https://startdebugging.net/ru/2025/01/how-to-switch-to-c-13/</guid><description>Как исправить &apos;Feature is not available in C# 12.0&apos; и перевести проект на C# 13, изменив target framework или задав LangVersion в файле .csproj.</description><pubDate>Wed, 01 Jan 2025 00:00:00 GMT</pubDate></item><item><title>История версий языка C#</title><link>https://startdebugging.net/ru/2024/12/csharp-language-version-history/</link><guid isPermaLink="true">https://startdebugging.net/ru/2024/12/csharp-language-version-history/</guid><description>Эволюция C# превратила его в современный высокопроизводительный язык. Это руководство отслеживает каждую важную веху. Ранние годы (C# 1.0 - 1.2). C# был выпущен в 2002 году как основной язык для .NET Framework. Он напоминал Java, но с фокусом на разработке под Windows. Версия 1.2 появилась вскоре после с небольшими...</description><pubDate>Sun, 01 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Что нового в .NET 10</title><link>https://startdebugging.net/ru/2024/12/dotnet-10/</link><guid isPermaLink="true">https://startdebugging.net/ru/2024/12/dotnet-10/</guid><description>Что нового в .NET 10: LTS-релиз с 3 годами поддержки, новые оптимизации JIT, девиртуализация массивов, улучшения размещения в стеке и многое другое.</description><pubDate>Sun, 01 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Что нового в C# 14.0</title><link>https://startdebugging.net/ru/2024/12/csharp-14/</link><guid isPermaLink="true">https://startdebugging.net/ru/2024/12/csharp-14/</guid><description>Обзор всех новых возможностей C# 14.0, включая ключевое слово field, члены расширения, null-условное присваивание, неявные преобразования span и многое другое.</description><pubDate>Sun, 01 Dec 2024 00:00:00 GMT</pubDate></item><item><title>.NET 8 ToFrozenDictionary: Dictionary против FrozenDictionary</title><link>https://startdebugging.net/ru/2024/04/net-8-performance-dictionary-vs-frozendictionary/</link><guid isPermaLink="true">https://startdebugging.net/ru/2024/04/net-8-performance-dictionary-vs-frozendictionary/</guid><description>Преобразуйте Dictionary в FrozenDictionary с помощью `ToFrozenDictionary()` в .NET 8 для более быстрого чтения. Бенчмарк, когда применять и компромисс по времени сборки.</description><pubDate>Sat, 27 Apr 2024 00:00:00 GMT</pubDate></item><item><title>Python: определение языка текста с помощью службы Azure AI Language</title><link>https://startdebugging.net/ru/2023/11/python-detect-text-language-using-azure-ai-language-service/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/python-detect-text-language-using-azure-ai-language-service/</guid><description>Узнайте, как определять язык текста с помощью службы Azure AI Language и Python SDK azure-ai-textanalytics, с примерами кода и payload API.</description><pubDate>Sat, 18 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Как добавить AdMob в ваше приложение на MAUI</title><link>https://startdebugging.net/ru/2023/11/how-to-add-admob-to-your-maui-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/how-to-add-admob-to-your-maui-app/</guid><description>Узнайте, как отображать баннерную рекламу AdMob в вашем приложении .NET MAUI на Android и iOS, с пошаговой настройкой и платформенно-специфичными реализациями обработчиков.</description><pubDate>Fri, 17 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Как определить язык текста с помощью службы Azure AI Language</title><link>https://startdebugging.net/ru/2023/11/how-to-detect-text-language-using-azure-ai-language-service/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/how-to-detect-text-language-using-azure-ai-language-service/</guid><description>Узнайте, как определять язык текста с помощью службы Azure AI Language: подготовка ресурса, payload API и примеры на C# с использованием TextAnalyticsClient.</description><pubDate>Thu, 16 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Начало работы с .NET Aspire</title><link>https://startdebugging.net/ru/2023/11/getting-started-with-net-aspire/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/getting-started-with-net-aspire/</guid><description>Пошаговое руководство по созданию вашего первого приложения .NET Aspire с описанием структуры проекта, обнаружения сервисов и панели мониторинга Aspire.</description><pubDate>Wed, 15 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Как установить .NET Aspire (dotnet workload install aspire)</title><link>https://startdebugging.net/ru/2023/11/how-to-install-net-aspire/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/how-to-install-net-aspire/</guid><description>Установите .NET Aspire через `dotnet workload install aspire`. Пошаговая настройка .NET 8, workload Aspire и Docker на Windows, macOS и Linux.</description><pubDate>Wed, 15 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Что такое .NET Aspire?</title><link>https://startdebugging.net/ru/2023/11/what-is-net-aspire/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/what-is-net-aspire/</guid><description>Обзор .NET Aspire — ориентированного на облако фреймворка для построения масштабируемых распределённых приложений, охватывающего оркестрацию, компоненты и инструментарий.</description><pubDate>Tue, 14 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Простая конвертация мегабайтов в килобайты</title><link>https://startdebugging.net/ru/2023/11/converting-megabytes-to-kilobytes-made-simple/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/converting-megabytes-to-kilobytes-made-simple/</guid><description>Узнайте, как конвертировать мегабайты (МБ) в килобайты (КБ) с помощью простой формулы умножения на 1024. Включает практические примеры и советы по управлению цифровым хранилищем.</description><pubDate>Mon, 13 Nov 2023 00:00:00 GMT</pubDate></item><item><title>C# Случайный выбор элементов из списка</title><link>https://startdebugging.net/ru/2023/11/c-randomly-choose-items-from-a-list/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/c-randomly-choose-items-from-a-list/</guid><description>В C# можно случайным образом выбирать элементы из списка с помощью Random.GetItems — метода, появившегося в .NET 8. Узнайте, как это работает, на практических примерах.</description><pubDate>Sun, 12 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Как опубликовать контейнер как tar.gz в .NET</title><link>https://startdebugging.net/ru/2023/11/how-to-publish-container-as-tar-gz-in-net/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/how-to-publish-container-as-tar-gz-in-net/</guid><description>Узнайте, как опубликовать контейнер .NET 8 в виде архива tar.gz с помощью свойства ContainerArchiveOutputPath и dotnet publish.</description><pubDate>Sat, 11 Nov 2023 00:00:00 GMT</pubDate></item><item><title>MAUI: как регистрировать обработчики в библиотеке</title><link>https://startdebugging.net/ru/2023/11/maui-library-register-handlers/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/maui-library-register-handlers/</guid><description>Узнайте, как регистрировать обработчики представлений и сервисы внутри библиотеки .NET MAUI с использованием паттерна builder и методов расширения MauiAppBuilder.</description><pubDate>Fri, 10 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Как исправить: &apos;Point&apos; не имеет предопределённого размера, поэтому sizeof можно использовать только в unsafe-контексте</title><link>https://startdebugging.net/ru/2023/11/how-to-fix-point-does-not-have-a-predefined-size-therefore-sizeof-can-only-be-used-in-an-unsafe-context/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/how-to-fix-point-does-not-have-a-predefined-size-therefore-sizeof-can-only-be-used-in-an-unsafe-context/</guid><description>Исправление ошибки C#, когда sizeof нельзя использовать с Point вне unsafe-контекста. Два решения: включить unsafe-код или использовать Marshal.SizeOf.</description><pubDate>Thu, 09 Nov 2023 00:00:00 GMT</pubDate></item><item><title>C# Доступ к backing field приватного свойства с помощью Unsafe Accessor</title><link>https://startdebugging.net/ru/2023/11/c-access-private-property-backing-field-using-unsafe-accessor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/c-access-private-property-backing-field-using-unsafe-accessor/</guid><description>Используйте UnsafeAccessorAttribute в .NET 8 для доступа к автоматически генерируемым backing field приватных авто-свойств в C# без рефлексии.</description><pubDate>Wed, 08 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Как сделать двухколоночную раскладку Flexbox в React Native</title><link>https://startdebugging.net/ru/2023/11/2-column-react-native/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/2-column-react-native/</guid><description>Узнайте, как создать двухколоночную раскладку Flexbox в React Native с помощью flex-wrap, с настраиваемым числом колонок и отступами между элементами.</description><pubDate>Tue, 07 Nov 2023 00:00:00 GMT</pubDate></item><item><title>C# ZIP-файлы в Stream</title><link>https://startdebugging.net/ru/2023/11/c-zip-files-to-stream/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/c-zip-files-to-stream/</guid><description>.NET 8 включает новые перегрузки CreateFromDirectory и ExtractToDirectory, которые позволяют создавать и извлекать ZIP-файлы напрямую в Stream и из него, без записи на диск.</description><pubDate>Mon, 06 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Производительность .NET 8: GetGenericTypeDefinition в 10 раз быстрее</title><link>https://startdebugging.net/ru/2023/11/net-8-performance-10x-faster-getgenerictypedefinition/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/net-8-performance-10x-faster-getgenerictypedefinition/</guid><description>Бенчмарки GetGenericTypeDefinition в .NET 8 по сравнению с .NET 7 показывают почти 10-кратный рост производительности. Смотрите код бенчмарка и результаты, полученные с помощью BenchmarkDotNet.</description><pubDate>Sun, 05 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Как сделать скриншот в .NET core</title><link>https://startdebugging.net/ru/2023/11/how-to-take-a-screenshot-in-net-core/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/how-to-take-a-screenshot-in-net-core/</guid><description>Научитесь делать снимок всего рабочего стола из консольного приложения .NET с помощью System.Windows.Forms. Решение только для Windows, охватывающее все мониторы.</description><pubDate>Sat, 04 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Kebab case: всё, что нужно о нём знать, и немного больше</title><link>https://startdebugging.net/ru/2023/11/kebab-case-everything-about-it-and-more/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/kebab-case-everything-about-it-and-more/</guid><description>Kebab case — это соглашение об именовании в программировании, при котором имена переменных, функций или файлов формируются разделением слов дефисами (&apos;-&apos;). Также его называют &apos;kebab-case&apos;, &apos;hyphen-case&apos; или &apos;spinal-case&apos;. Например, если у вас есть переменная для имени человека, в kebab case вы напишете её так: В kebab case все...</description><pubDate>Fri, 03 Nov 2023 00:00:00 GMT</pubDate></item><item><title>C# Как обновить readonly-поле с помощью UnsafeAccessor</title><link>https://startdebugging.net/ru/2023/11/c-how-to-update-a-readonly-field-using-unsafeaccessor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/c-how-to-update-a-readonly-field-using-unsafeaccessor/</guid><description>Узнайте, как в C# обновить readonly-поле с помощью UnsafeAccessor — альтернативы рефлексии без потерь производительности. Доступно в .NET 8.</description><pubDate>Thu, 02 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Производительность .NET 8: UnsafeAccessor против рефлексии</title><link>https://startdebugging.net/ru/2023/11/net-8-performance-unsafeaccessor-vs-reflection/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/11/net-8-performance-unsafeaccessor-vs-reflection/</guid><description>Бенчмарк UnsafeAccessor против рефлексии в .NET 8. Посмотрите, как UnsafeAccessor добивается производительности без накладных расходов по сравнению с классической рефлексией.</description><pubDate>Wed, 01 Nov 2023 00:00:00 GMT</pubDate></item><item><title>C# UnsafeAccessor: приватные члены без рефлексии (.NET 8)</title><link>https://startdebugging.net/ru/2023/10/unsafe-accessor/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/unsafe-accessor/</guid><description>Используйте атрибут `[UnsafeAccessor]` в .NET 8, чтобы читать приватные поля и вызывать приватные методы без накладных расходов: без рефлексии и с полной поддержкой AOT.</description><pubDate>Tue, 31 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Как исправить: MissingPluginException: No implementation found for method getAll</title><link>https://startdebugging.net/ru/2023/10/how-to-fix-missingpluginexception-no-implementation-found-for-method-getall/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/how-to-fix-missingpluginexception-no-implementation-found-for-method-getall/</guid><description>Исправляем `MissingPluginException` &apos;No implementation found for method getAll&apos; во Flutter для shared_preferences и подобных плагинов (package_info_plus и др.): ProGuard, регистрация плагина, minSdkVersion, hot restart.</description><pubDate>Mon, 30 Oct 2023 00:00:00 GMT</pubDate></item><item><title>C# Как помечать функциональность как экспериментальную</title><link>https://startdebugging.net/ru/2023/10/experimental-features/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/experimental-features/</guid><description>Начиная с C# 12, новый ExperimentalAttribute позволяет помечать типы, методы, свойства или сборки как экспериментальные. Узнайте, как использовать его с diagnosticId, pragma-тегами и UrlFormat.</description><pubDate>Sun, 29 Oct 2023 00:00:00 GMT</pubDate></item><item><title>C# параметры ref readonly</title><link>https://startdebugging.net/ru/2023/10/csharp-ref-readonly-parameters/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/csharp-ref-readonly-parameters/</guid><description>Модификатор ref readonly в C# даёт более прозрачный способ передавать ссылки только для чтения. Узнайте, как он улучшает модификатор in за счёт более чётких ограничений и видимости для вызывающей стороны.</description><pubDate>Sat, 28 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Что идёт после decillion?</title><link>https://startdebugging.net/ru/2023/10/what-comes-after-decillion/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/what-comes-after-decillion/</guid><description>Что идёт после decillion? Ответ — undecillion, в нём 36 нулей. Смотрите полный список больших чисел от million до centillion.</description><pubDate>Fri, 27 Oct 2023 00:00:00 GMT</pubDate></item><item><title>C# как перемешать массив?</title><link>https://startdebugging.net/ru/2023/10/c-how-to-shuffle-an-array/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/c-how-to-shuffle-an-array/</guid><description>Самый простой способ перемешать массив в C# — использовать Random.Shuffle, появившийся в .NET 8. Метод работает in-place как с массивами, так и со спанами.</description><pubDate>Thu, 26 Oct 2023 00:00:00 GMT</pubDate></item><item><title>System.Text.Json Как изменить существующий type info resolver</title><link>https://startdebugging.net/ru/2023/10/system-text-json-how-to-modify-existing-type-info-resolver/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/system-text-json-how-to-modify-existing-type-info-resolver/</guid><description>Используйте новый метод-расширение WithAddedModifier в .NET 8, чтобы легко изменять любой контракт сериализации IJsonTypeInfoResolver, не создавая resolver с нуля.</description><pubDate>Wed, 25 Oct 2023 00:00:00 GMT</pubDate></item><item><title>HttpClient получаем JSON как AsyncEnumerable</title><link>https://startdebugging.net/ru/2023/10/httpclient-get-json-as-asyncenumerable/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/httpclient-get-json-as-asyncenumerable/</guid><description>Новый метод-расширение GetFromJsonAsAsyncEnumerable в .NET 8 десериализует JSON из тела HTTP-ответа в IAsyncEnumerable. Узнайте, как использовать его с await foreach.</description><pubDate>Tue, 24 Oct 2023 00:00:00 GMT</pubDate></item><item><title>JsonNode обновления API в .NET 8</title><link>https://startdebugging.net/ru/2023/10/jsonnode-net-8-api-updates/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/jsonnode-net-8-api-updates/</guid><description>Разбираем новые API в .NET 8 для JsonNode и JsonArray: GetValueKind, GetPropertyName, GetElementIndex, ReplaceWith и ParseAsync.</description><pubDate>Mon, 23 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Глубокое клонирование и глубокое сравнение JsonNode</title><link>https://startdebugging.net/ru/2023/10/deep-cloning-and-deep-equality-of-a-jsonnode/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/deep-cloning-and-deep-equality-of-a-jsonnode/</guid><description>Узнайте, как использовать новые методы DeepClone() и DeepEquals() у JsonNode в .NET 8 для глубокого клонирования и сравнения JSON-узлов.</description><pubDate>Sun, 22 Oct 2023 00:00:00 GMT</pubDate></item><item><title>System.Text.Json отключаем сериализацию на основе рефлексии</title><link>https://startdebugging.net/ru/2023/10/system-text-json-disable-reflection-based-serialization/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/system-text-json-disable-reflection-based-serialization/</guid><description>Узнайте, как, начиная с .NET 8, отключить сериализацию на основе рефлексии в System.Text.Json для trimmed- и native AOT-приложений с помощью свойства JsonSerializerIsReflectionEnabledByDefault.</description><pubDate>Sat, 21 Oct 2023 00:00:00 GMT</pubDate></item><item><title>C# Что такое NullReferenceException и как её исправить?</title><link>https://startdebugging.net/ru/2023/10/c-what-is-a-nullreferenceexception-and-how-to-fix-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/c-what-is-a-nullreferenceexception-and-how-to-fix-it/</guid><description>Узнайте, что вызывает NullReferenceException в C#, как её отлаживать и как предотвращать с помощью проверок на null, оператора null-conditional и ссылочных типов, допускающих null.</description><pubDate>Fri, 20 Oct 2023 00:00:00 GMT</pubDate></item><item><title>YouTube: пропала опция удаления канала</title><link>https://startdebugging.net/ru/2023/10/youtube-missing-option-to-delete-channel/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/youtube-missing-option-to-delete-channel/</guid><description>Не видите опцию &apos;Remove YouTube Content&apos;? Используйте YouTube Studio как обходной путь для удаления канала, когда стандартный вариант недоступен.</description><pubDate>Fri, 20 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Добавление/удаление TypeInfoResolver у существующих JsonSerializerOptions</title><link>https://startdebugging.net/ru/2023/10/add-remove-typeinforesolver-to-existing-jsonserializeroptions/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/add-remove-typeinforesolver-to-existing-jsonserializeroptions/</guid><description>Узнайте, как добавлять или удалять экземпляры TypeInfoResolver у существующих JsonSerializerOptions с помощью нового свойства TypeInfoResolverChain в .NET 8.</description><pubDate>Thu, 19 Oct 2023 00:00:00 GMT</pubDate></item><item><title>WPF Не добавлять выбранные в диалоге файлы в недавние</title><link>https://startdebugging.net/ru/2023/10/wpf-prevent-file-dialog-selection-from-being-added-to-recents/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/wpf-prevent-file-dialog-selection-from-being-added-to-recents/</guid><description>Не давайте выбору в диалогах файлов WPF попадать в недавние Проводника и меню Пуск, выставив AddToRecent в false в .NET 8.</description><pubDate>Wed, 18 Oct 2023 00:00:00 GMT</pubDate></item><item><title>WPF Индивидуальные состояния диалогов с помощью ClientGuid</title><link>https://startdebugging.net/ru/2023/10/wpf-individual-dialog-states-using-clientguid/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/wpf-individual-dialog-states-using-clientguid/</guid><description>Используйте свойство ClientGuid в .NET 8, чтобы сохранять индивидуальные состояния диалогов — размер окна, положение и последнюю используемую папку — для каждого WPF-диалога файлов отдельно.</description><pubDate>Fri, 13 Oct 2023 00:00:00 GMT</pubDate></item><item><title>C# 12 Interceptors</title><link>https://startdebugging.net/ru/2023/10/c-12-interceptors/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/c-12-interceptors/</guid><description>Знакомимся с interceptors из C# 12 — экспериментальной возможностью компилятора в .NET 8, позволяющей подменять вызовы методов на этапе компиляции с помощью атрибута InterceptsLocation.</description><pubDate>Thu, 12 Oct 2023 00:00:00 GMT</pubDate></item><item><title>WPF Ограничиваем дерево папок OpenFileDialog одной папкой</title><link>https://startdebugging.net/ru/2023/10/wpf-limit-openfiledialog-folder-tree-to-a-certain-folder/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/wpf-limit-openfiledialog-folder-tree-to-a-certain-folder/</guid><description>Узнайте, как ограничить дерево папок WPF-диалога OpenFileDialog заданной корневой папкой с помощью свойства RootDirectory в .NET 8.</description><pubDate>Thu, 12 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Flutter NoSuchMethod: the method was called on null</title><link>https://startdebugging.net/ru/2023/10/flutter-nosuchmethod-the-method-was-called-on-null/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/flutter-nosuchmethod-the-method-was-called-on-null/</guid><description>Эта ошибка во Flutter возникает при вызове метода у null-ссылки на объект. Узнайте, как диагностировать и исправлять NoSuchMethod с помощью стека вызовов и точек останова.</description><pubDate>Mon, 09 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Аппаратное ускорение WPF в RDP</title><link>https://startdebugging.net/ru/2023/10/wpf-hardware-acceleration-in-rdp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/wpf-hardware-acceleration-in-rdp/</guid><description>Узнайте, как в .NET 8 включить аппаратное ускорение WPF поверх RDP для лучшей производительности и более отзывчивого удалённого рабочего стола.</description><pubDate>Mon, 09 Oct 2023 00:00:00 GMT</pubDate></item><item><title>WPF Open / Select Folder Dialog (OpenFolderDialog в .NET 8)</title><link>https://startdebugging.net/ru/2023/10/wpf-open-folder-dialog/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/wpf-open-folder-dialog/</guid><description>Используйте новый `OpenFolderDialog` из .NET 8 в WPF, чтобы пользователи могли открывать и выбирать одну или несколько папок. Заменяет старый костыль с FolderBrowserDialog из WinForms.</description><pubDate>Mon, 09 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Революция ИИ: должны ли разработчики бояться за свои рабочие места?</title><link>https://startdebugging.net/ru/2023/10/the-ai-revolution-should-software-engineers-be-afraid-for-their-jobs/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/10/the-ai-revolution-should-software-engineers-be-afraid-for-their-jobs/</guid><description>Заменит ли ИИ программистов? Разбираемся с реальностью за сгенерированными ИИ сайтами, prompt engineering, специализированным ИИ и почему ИИ — скорее второй пилот, а не замена.</description><pubDate>Sun, 08 Oct 2023 00:00:00 GMT</pubDate></item><item><title>Implementation type Data.AppDbContext can&apos;t be converted to service type Microsoft.AspNetCore.Identity.IUserStore</title><link>https://startdebugging.net/ru/2023/09/implementation-type-data-appdbcontext-cant-be-converted-to-service-type-microsoft-aspnetcore-identity-iuserstore/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/implementation-type-data-appdbcontext-cant-be-converted-to-service-type-microsoft-aspnetcore-identity-iuserstore/</guid><description>Исправляем ошибку ASP.NET Core Identity, когда AppDbContext не может быть преобразован в IUserStore, добавлением AddEntityFrameworkStores в конфигурацию identity.</description><pubDate>Thu, 28 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 сериализация свойств из иерархий интерфейсов</title><link>https://startdebugging.net/ru/2023/09/net-8-serializing-properties-from-interface-hierarchies/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-serializing-properties-from-interface-hierarchies/</guid><description>.NET 8 добавляет поддержку сериализации свойств из иерархий интерфейсов, включая все свойства всех интерфейсов в зависимости от объявленного типа переменной.</description><pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 десериализация в непубличные свойства</title><link>https://startdebugging.net/ru/2023/09/net-8-deserialize-into-non-public-properties/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-deserialize-into-non-public-properties/</guid><description>Узнайте, как в .NET 8 десериализовать JSON в непубличные свойства с помощью атрибута JsonInclude и параметризованных конструкторов.</description><pubDate>Thu, 21 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 как использовать JsonStringEnumConverter с native AOT</title><link>https://startdebugging.net/ru/2023/09/net-8-how-to-use-jsonstringenumconverter-with-native-aot/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-how-to-use-jsonstringenumconverter-with-native-aot/</guid><description>Узнайте, как использовать новый JsonStringEnumConverter&lt;TEnum&gt; в .NET 8 для совместимой с native AOT сериализации перечислений в System.Text.Json.</description><pubDate>Sun, 17 Sep 2023 00:00:00 GMT</pubDate></item><item><title>The type or namespace name InterceptsLocationAttribute could not be found</title><link>https://startdebugging.net/ru/2023/09/the-type-or-namespace-name-interceptslocationattribute-could-not-be-found/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/the-type-or-namespace-name-interceptslocationattribute-could-not-be-found/</guid><description>Как исправить ошибку CS0246 для InterceptsLocationAttribute в interceptors C#, объявив атрибут самостоятельно.</description><pubDate>Thu, 14 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 пометить JsonSerializerOptions как readonly</title><link>https://startdebugging.net/ru/2023/09/net-8-mark-jsonserializeroptions-as-readonly/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-mark-jsonserializeroptions-as-readonly/</guid><description>Узнайте, как в .NET 8 пометить экземпляры JsonSerializerOptions как только для чтения с помощью MakeReadOnly и как проверить свойство IsReadOnly.</description><pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 сериализация Half, Int128 и UInt128</title><link>https://startdebugging.net/ru/2023/09/net-8-serialization-of-half-int128-and-uint128/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-serialization-of-half-int128-and-uint128/</guid><description>В .NET 8 System.Text.Json добавляет встроенную поддержку сериализации числовых типов Half, Int128 и UInt128.</description><pubDate>Thu, 07 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 Memory&lt;byte&gt; сериализуется как base64</title><link>https://startdebugging.net/ru/2023/09/net-8-memorybyte-is-serialized-as-base64/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-memorybyte-is-serialized-as-base64/</guid><description>Начиная с .NET 8, и Memory&lt;byte&gt;, и ReadOnlyMemory&lt;byte&gt; сериализуются как строки Base64, тогда как другие типы вроде Memory&lt;int&gt; остаются JSON-массивами.</description><pubDate>Wed, 06 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 включаем непубличные члены в JSON-сериализацию</title><link>https://startdebugging.net/ru/2023/09/net-8-include-non-public-members-in-json-serialization/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-include-non-public-members-in-json-serialization/</guid><description>Узнайте, как в .NET 8 включить private, protected и internal свойства в JSON-сериализацию с помощью атрибута JsonInclude.</description><pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate></item><item><title>dotnet workload clean</title><link>https://startdebugging.net/ru/2023/09/dotnet-workload-clean/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/dotnet-workload-clean/</guid><description>Используйте команду `dotnet workload clean`, чтобы удалить оставшиеся .NET workload-паки после обновления SDK или Visual Studio: когда применять, что удаляется и подводные камни.</description><pubDate>Mon, 04 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 десериализация в свойства только для чтения</title><link>https://startdebugging.net/ru/2023/09/net-8-deserialize-into-read-only-properties/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-deserialize-into-read-only-properties/</guid><description>Узнайте, как в .NET 8 десериализовать JSON в свойства только для чтения без сеттера с помощью JsonObjectCreationHandling или JsonSerializerOptions.</description><pubDate>Sun, 03 Sep 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 обработка лишних членов при десериализации JSON</title><link>https://startdebugging.net/ru/2023/09/net-8-handle-missing-members-during-json-deserialization/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/net-8-handle-missing-members-during-json-deserialization/</guid><description>Узнайте, как в .NET 8 заставить десериализацию бросать исключение для несопоставленных JSON-свойств с помощью JsonUnmappedMemberHandling.</description><pubDate>Sat, 02 Sep 2023 00:00:00 GMT</pubDate></item><item><title>SQLite-net No parameterless constructor defined for this object в ExecuteQuery</title><link>https://startdebugging.net/ru/2023/09/sqllitenet-no-parameterless-constructor-defined-for-this-object-on-executequery/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/09/sqllitenet-no-parameterless-constructor-defined-for-this-object-on-executequery/</guid><description>Как исправить ошибку &apos;no parameterless constructor defined&apos; в SQLite-net при использовании ExecuteQuery с примитивными типами вроде string или int.</description><pubDate>Fri, 01 Sep 2023 00:00:00 GMT</pubDate></item><item><title>C# 12 Inline arrays</title><link>https://startdebugging.net/ru/2023/08/c-12-inline-arrays/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/c-12-inline-arrays/</guid><description>Inline arrays позволяют создать массив фиксированного размера внутри struct. Такая структура с inline-буфером по производительности сравнима с unsafe fixed size buffer. Inline arrays в первую очередь рассчитаны на команду runtime и некоторых авторов библиотек для улучшения производительности в определённых сценариях. Скорее всего...</description><pubDate>Thu, 31 Aug 2023 00:00:00 GMT</pubDate></item><item><title>C# 12 collection expressions</title><link>https://startdebugging.net/ru/2023/08/c-12-collection-expressions/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/c-12-collection-expressions/</guid><description>C# 12 вводит новый упрощённый синтаксис создания массивов. Выглядит он так: Важно: тип массива должен быть указан явно, поэтому использовать var для объявления переменной нельзя. Аналогично, чтобы создать Span&lt;int&gt;, можно сделать так: Многомерные массивы Преимущества этого лаконичного синтаксиса...</description><pubDate>Wed, 30 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Как установить dotnet script</title><link>https://startdebugging.net/ru/2023/08/how-to-install-dotnet-script/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/how-to-install-dotnet-script/</guid><description>dotnet script позволяет запускать C#-скрипты (.CSX) из .NET CLI. Единственное требование — наличие .NET 6 или новее на машине. Установить dotnet-script глобально можно следующей командой: Затем для выполнения файла-скрипта достаточно вызвать dotnet script &lt;file_path&gt;, как в примере ниже: Как...</description><pubDate>Tue, 29 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Flutter Исправляем &apos;The getter accentColor isn&apos;t defined for the class ThemeData&apos;</title><link>https://startdebugging.net/ru/2023/08/flutter-fix-the-getter-accentcolor-isnt-defined-for-the-class-themedata/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/flutter-fix-the-getter-accentcolor-isnt-defined-for-the-class-themedata/</guid><description>Наиболее вероятная причина этой ошибки — обновление Flutter (flutter upgrade), которое привело к несовместимости с вашим кодом или зависимостями проекта. Свойство Theme.of(context).accentColor устарело начиная с Flutter 1.17 и полностью удалено в текущей версии, отсюда и ошибка. Чем заменить Или, если...</description><pubDate>Fri, 18 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Flutter: Your project requires a newer version of the Kotlin Gradle plugin</title><link>https://startdebugging.net/ru/2023/08/flutter-your-project-requires-a-newer-version-of-the-kotlin-gradle-plugin/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/flutter-your-project-requires-a-newer-version-of-the-kotlin-gradle-plugin/</guid><description>Исправьте ошибку Flutter &apos;Your project requires a newer version of the Kotlin Gradle plugin&apos;, обновив ext.kotlin_version в файле build.gradle до последнего релиза Kotlin.</description><pubDate>Fri, 18 Aug 2023 00:00:00 GMT</pubDate></item><item><title>C# Как дождаться завершения процесса?</title><link>https://startdebugging.net/ru/2023/08/c-how-to-wait-for-a-process-to-end/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/c-how-to-wait-for-a-process-to-end/</guid><description>Дождаться завершения процесса можно с помощью метода WaitForExit. Ваш код синхронно подождёт, пока процесс завершится, и затем продолжит выполнение. Рассмотрим пример: Этот код запустит новый процесс cmd.exe и выполнит команду timeout 5. Вызов process.WaitForExit() заставит вашу программу...</description><pubDate>Fri, 11 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Что означает мегабайт?</title><link>https://startdebugging.net/ru/2023/08/what-does-megabyte-mean/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/what-does-megabyte-mean/</guid><description>Мегабайт (МБ) равен одному миллиону байт по системе СИ, но в вычислениях может означать и 1 048 576 байт. Разбираем разные определения и соглашения.</description><pubDate>Tue, 08 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Что идёт после quadrillion?</title><link>https://startdebugging.net/ru/2023/08/what-comes-after-quadrillion/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/what-comes-after-quadrillion/</guid><description>После quadrillion идёт quintillion, в котором 18 нулей. Полный список названий больших чисел от million до centillion.</description><pubDate>Mon, 07 Aug 2023 00:00:00 GMT</pubDate></item><item><title>C# 12 alias для любых типов</title><link>https://startdebugging.net/ru/2023/08/c-12-alias-any-type/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/c-12-alias-any-type/</guid><description>Директива using alias в C# 12 стала более гибкой и теперь позволяет создавать алиасы для любых типов, а не только для именованных. Это значит, что вы можете создавать алиасы для tuples, указателей, массивов, обобщённых типов и т. д. Вместо полной структурной формы tuple теперь можно дать короткий описательный алиас...</description><pubDate>Sun, 06 Aug 2023 00:00:00 GMT</pubDate></item><item><title>.NET 8 JsonNamingPolicy: SnakeCaseLower и KebabCaseLower (System.Text.Json)</title><link>https://startdebugging.net/ru/2023/08/net-8-json-serialize-property-names-using-snake-case-and-kebab-case/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/net-8-json-serialize-property-names-using-snake-case-and-kebab-case/</guid><description>Используйте новые `JsonNamingPolicy.SnakeCaseLower` (а также SnakeCaseUpper, KebabCaseLower, KebabCaseUpper) в .NET 8 для сериализации JSON в snake_case / kebab-case через System.Text.Json без своего конвертера.</description><pubDate>Sun, 06 Aug 2023 00:00:00 GMT</pubDate></item><item><title>Есть ли в C# аналог инструкции With...End With?</title><link>https://startdebugging.net/ru/2023/08/is-there-a-c-with-end-with-statement-equivalent/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/08/is-there-a-c-with-end-with-statement-equivalent/</guid><description>Инструкция With...End With в VB позволяет выполнять серию операторов, которые многократно обращаются к одному объекту, используя упрощённый синтаксис доступа к его членам. Есть ли аналог в C#? Нет. Ближайший аналог - инициализаторы объектов, но они работают только при создании новых экземпляров.</description><pubDate>Sat, 05 Aug 2023 00:00:00 GMT</pubDate></item><item><title>C# 12 - Первичные конструкторы</title><link>https://startdebugging.net/ru/2023/07/c-12-primary-constructors/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/07/c-12-primary-constructors/</guid><description>Начиная с C# 12, можно объявлять первичный конструктор внутри классов и структур. Параметры размещаются в скобках сразу после имени типа. Они имеют широкую область видимости: могут инициализировать свойства или поля, использоваться как переменные в методах и локальных функциях, а также передаваться в базовый конструктор.</description><pubDate>Sun, 30 Jul 2023 00:00:00 GMT</pubDate></item><item><title>dotnet new api -aot: &apos;-aot&apos; is not a valid option</title><link>https://startdebugging.net/ru/2023/06/dotnet-new-api-aot-aot-is-not-a-valid-option/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/dotnet-new-api-aot-aot-is-not-a-valid-option/</guid><description>Исправьте ошибку &apos;-aot is not a valid option&apos;, используя правильный синтаксис с двойным дефисом: dotnet new api --aot.</description><pubDate>Wed, 14 Jun 2023 00:00:00 GMT</pubDate></item><item><title>The type or namespace name &apos;QueryOption&apos; could not be found</title><link>https://startdebugging.net/ru/2023/06/the-type-or-namespace-name-queryoption-could-not-be-found/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/the-type-or-namespace-name-queryoption-could-not-be-found/</guid><description>Начиная с Microsoft Graph .NET SDK 5.0, класс QueryOption больше не используется. Вместо него параметры запроса задаются через модификатор requestConfiguration. Если требуется по-прежнему использовать QueryOptions, единственный вариант - откатить пакет Microsoft Graph до версии 4.x.</description><pubDate>Tue, 13 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Как передать аргументы в dotnet script</title><link>https://startdebugging.net/ru/2023/06/how-to-pass-arguments-to-a-dotnet-script/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/how-to-pass-arguments-to-a-dotnet-script/</guid><description>Узнайте, как передавать аргументы в dotnet script с помощью разделителя -- и обращаться к ним через коллекцию Args.</description><pubDate>Mon, 12 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Как исправить: dotnet ef not found (dotnet-ef does not exist)</title><link>https://startdebugging.net/ru/2023/06/how-to-fix-command-dotnet-ef-not-found/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/how-to-fix-command-dotnet-ef-not-found/</guid><description>Исправьте ошибку &apos;dotnet-ef does not exist&apos; / &apos;dotnet ef command not found&apos;, установив EF Core CLI как глобальный или локальный инструмент .NET.</description><pubDate>Sun, 11 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Как начать программировать на C#</title><link>https://startdebugging.net/ru/2023/06/how-to-start-programming-with-c/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/how-to-start-programming-with-c/</guid><description>Руководство для начинающих по началу программирования на C#: от установки Visual Studio до написания первой программы и поиска ресурсов для обучения.</description><pubDate>Sun, 11 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Как перейти на C# 12</title><link>https://startdebugging.net/ru/2023/06/how-to-switch-to-c-12/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/how-to-switch-to-c-12/</guid><description>Исправьте ошибки версии языка C# 12, обновив target framework до .NET 8 или указав LangVersion в файле .csproj.</description><pubDate>Sat, 10 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Что нового в C# 12</title><link>https://startdebugging.net/ru/2023/06/whats-new-in-c-12/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/whats-new-in-c-12/</guid><description>Обзор новых возможностей C# 12: первичные конструкторы, параметры лямбда по умолчанию, выражения коллекций, inline arrays и многое другое.</description><pubDate>Sat, 10 Jun 2023 00:00:00 GMT</pubDate></item><item><title>Что нового в .NET 8</title><link>https://startdebugging.net/ru/2023/06/whats-new-in-net-8/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/06/whats-new-in-net-8/</guid><description>.NET 8 был выпущен 14 ноября 2023 года как версия LTS (Long Term Support), что означает поддержку, обновления и исправления ошибок не менее трёх лет с даты выхода. Как обычно, .NET 8 включает поддержку новой версии языка C#, а именно C# 12.</description><pubDate>Sat, 10 Jun 2023 00:00:00 GMT</pubDate></item><item><title>C# 12 - Значения по умолчанию для параметров в лямбда-выражениях</title><link>https://startdebugging.net/ru/2023/05/c-12-default-values-for-parameters-in-lambda-expressions/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/05/c-12-default-values-for-parameters-in-lambda-expressions/</guid><description>C# 12 позволяет задавать значения по умолчанию для параметров и массивы params в лямбда-выражениях так же, как в методах и локальных функциях.</description><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate></item><item><title>C# 11 - Обобщённые атрибуты</title><link>https://startdebugging.net/ru/2023/03/c-sharp-11-generic-attributes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/03/c-sharp-11-generic-attributes/</guid><description>Узнайте, как определять и использовать обобщённые атрибуты в C# 11, включая ограничения на аргументы типов и распространённые сообщения об ошибках.</description><pubDate>Tue, 21 Mar 2023 00:00:00 GMT</pubDate></item><item><title>C# 11 - модификатор доступа file и типы с областью файла</title><link>https://startdebugging.net/ru/2023/03/c-11-file-access-modifier/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/03/c-11-file-access-modifier/</guid><description>Узнайте, как модификатор file в C# 11 ограничивает область типа файлом, в котором он объявлен, помогая избежать коллизий имён с генераторами исходного кода.</description><pubDate>Sat, 18 Mar 2023 00:00:00 GMT</pubDate></item><item><title>C# 11 - Интерполированные сырые строковые литералы</title><link>https://startdebugging.net/ru/2023/03/c-11-interpolated-raw-string-literal/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/03/c-11-interpolated-raw-string-literal/</guid><description>Узнайте, как использовать интерполированные сырые строковые литералы в C# 11, включая экранирование фигурных скобок, использование нескольких символов $ и условные операторы.</description><pubDate>Fri, 17 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Сырые строковые литералы C# 11 (синтаксис тройных кавычек)</title><link>https://startdebugging.net/ru/2023/03/c-raw-string-literals/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/03/c-raw-string-literals/</guid><description>Используйте сырые строковые литералы C# 11 (синтаксис тройных кавычек `&quot;&quot;&quot;`) для встраивания пробелов, переводов строк и кавычек без escape-последовательностей. Правила и примеры.</description><pubDate>Wed, 15 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Как перейти на C# 11</title><link>https://startdebugging.net/ru/2023/03/how-to-switch-to-c-11/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/03/how-to-switch-to-c-11/</guid><description>Исправьте ошибку &apos;Feature is not available in C# 10.0&apos;, перейдя на C# 11 через target framework или LangVersion в файле .csproj.</description><pubDate>Tue, 14 Mar 2023 00:00:00 GMT</pubDate></item><item><title>C# выбросить исключение при null: ArgumentNullException.ThrowIfNull (.NET 6+)</title><link>https://startdebugging.net/ru/2023/03/c-best-way-to-throw-exception-if-null/</link><guid isPermaLink="true">https://startdebugging.net/ru/2023/03/c-best-way-to-throw-exception-if-null/</guid><description>Используйте ArgumentNullException.ThrowIfNull в .NET 6+ для лаконичных проверок на null или throw-выражения в C# 7+ для более ранних фреймворков.</description><pubDate>Sat, 11 Mar 2023 00:00:00 GMT</pubDate></item><item><title>The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.</title><link>https://startdebugging.net/ru/2020/12/azure-the-specified-version-of-microsoft-netcore-app-or-microsoft-aspnetcore-app-was-not-found/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/12/azure-the-specified-version-of-microsoft-netcore-app-or-microsoft-aspnetcore-app-was-not-found/</guid><description>Исправьте ошибку &apos;Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found&apos;, обновив стек Azure App Service и версию runtime .NET.</description><pubDate>Sun, 20 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Получение Stream встроенного ресурса в .NET Core</title><link>https://startdebugging.net/ru/2020/11/get-embedded-resource-stream-in-net-core/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/get-embedded-resource-stream-in-net-core/</guid><description>Узнайте, как получить поток встроенного ресурса в .NET Core, разобравшись, как формируется имя ресурса, и используя GetManifestResourceStream.</description><pubDate>Fri, 20 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Решение в Azure DevOps: .NET Core SDK требует выхода из системы или перезапуска сессии</title><link>https://startdebugging.net/ru/2020/11/azure-devops-fix-since-you-just-installed-the-net-core-sdk-you-will-need-to-logout-or-restart-your-session-before-running-the-tool-you-installed/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/azure-devops-fix-since-you-just-installed-the-net-core-sdk-you-will-need-to-logout-or-restart-your-session-before-running-the-tool-you-installed/</guid><description>Как исправить ошибку сборки Azure DevOps &apos;Since you just installed the .NET Core SDK, you will need to logout or restart your session&apos;, изменив спецификацию агента сборки.</description><pubDate>Fri, 20 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Azure Functions против WebJobs: что выбрать</title><link>https://startdebugging.net/ru/2020/11/azure-functions-vs-webjobs-which-to-choose/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/azure-functions-vs-webjobs-which-to-choose/</guid><description>Сравните Azure Functions и WebJobs: ключевые различия в масштабировании, ценообразовании, триггерах и в том, когда выбирать одно вместо другого.</description><pubDate>Wed, 18 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Что выбрать: Logic Apps или Microsoft Power Automate</title><link>https://startdebugging.net/ru/2020/11/which-to-choose-logic-apps-vs-microsoft-power-automate/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/which-to-choose-logic-apps-vs-microsoft-power-automate/</guid><description>Сравните Azure Logic Apps и Microsoft Power Automate, чтобы определить, какой сервис автоматизации рабочих процессов лучше подходит для вашего сценария.</description><pubDate>Wed, 18 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Как использовать appsettings.json в Xamarin.Forms</title><link>https://startdebugging.net/ru/2020/11/how-to-use-appsettings-json-with-xamarin-forms/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/how-to-use-appsettings-json-with-xamarin-forms/</guid><description>Узнайте, как использовать конфигурационные файлы appsettings.json в Xamarin.Forms, встраивая файл как ресурс и создавая объект IConfiguration.</description><pubDate>Fri, 13 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Создание кроссплатформенного чата с использованием Xamarin Forms и SignalR</title><link>https://startdebugging.net/ru/2020/11/creating-a-cross-platform-chat-app-using-xamarin-forms-and-signalr/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/creating-a-cross-platform-chat-app-using-xamarin-forms-and-signalr/</guid><description>Постройте кроссплатформенное приложение чата в реальном времени менее чем за 5 минут, используя Xamarin Forms для клиента и ASP.NET Core SignalR для бэкенда.</description><pubDate>Mon, 09 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Как исправить ошибку &apos;Missing MySQL extension&apos; в WordPress после обновления MultiPHP на HostGator</title><link>https://startdebugging.net/ru/2020/11/how-to-fix-wordpress-missing-mysql-extension-after-multiphp-upgrade-on-hostgator/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/how-to-fix-wordpress-missing-mysql-extension-after-multiphp-upgrade-on-hostgator/</guid><description>Исправьте ошибку WordPress &apos;Missing MySQL extension&apos; после обновления PHP через MultiPHP manager на HostGator, удалив устаревший handler из .htaccess.</description><pubDate>Fri, 06 Nov 2020 00:00:00 GMT</pubDate></item><item><title>Как публично выставить локальный сервис SignalR для мобильных клиентов с помощью ngrok</title><link>https://startdebugging.net/ru/2020/11/how-to-publicly-expose-local-signalr-service-publicly-for-mobile-clients/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/11/how-to-publicly-expose-local-signalr-service-publicly-for-mobile-clients/</guid><description>Используйте ngrok, чтобы публично выставить ваш локальный сервис SignalR и позволить мобильным клиентам подключаться без настройки сети и обходов SSL.</description><pubDate>Wed, 04 Nov 2020 00:00:00 GMT</pubDate></item><item><title>В чём разница между МегаБайтом (MB) и МебиБайтом (MiB)?</title><link>https://startdebugging.net/ru/2020/08/mib-vs-mb/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/08/mib-vs-mb/</guid><description>Узнайте разницу между мегабайтами (MB) и мебибайтами (MiB), почему 1 MB равен 1000 KB (а не 1024) и как разные операционные системы обращаются с этими единицами.</description><pubDate>Fri, 07 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Polls для Streamlabs - взаимодействуйте со зрителями</title><link>https://startdebugging.net/ru/2020/08/polls-for-streamlabs-interact-with-your-viewers/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/08/polls-for-streamlabs-interact-with-your-viewers/</guid><description>Узнайте, как настроить и использовать Streamlabs Polls, чтобы в реальном времени взаимодействовать со зрителями во время стрима через голосования в чате.</description><pubDate>Thu, 06 Aug 2020 00:00:00 GMT</pubDate></item><item><title>C# using var (using-объявление)</title><link>https://startdebugging.net/ru/2020/05/c-using-var-using-declaration/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/05/c-using-var-using-declaration/</guid><description>Используйте using-объявления C# 8 (`using var`) для освобождения объектов IDisposable без вложенных фигурных скобок. Синтаксис, правила области видимости и когда лучше использовать блок `using`.</description><pubDate>Fri, 01 May 2020 00:00:00 GMT</pubDate></item><item><title>Присваивание с объединением null ??= в C# 8.0</title><link>https://startdebugging.net/ru/2020/04/c-8-0-null-coalescing-assignment/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/04/c-8-0-null-coalescing-assignment/</guid><description>Узнайте, как работает оператор присваивания с объединением null (??=) в C# 8.0, на практических примерах вроде кеширования и условного присваивания.</description><pubDate>Sun, 05 Apr 2020 00:00:00 GMT</pubDate></item><item><title>get_category_link генерирует неверные URL с /blog/</title><link>https://startdebugging.net/ru/2020/04/get_category_link-generating-incorrect-url-including-blog/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/04/get_category_link-generating-incorrect-url-including-blog/</guid><description>Решение для WordPress get_category_link, который генерирует неверные URL с /blog/ в пути, что приводит к 404 на страницах категорий.</description><pubDate>Sat, 04 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Технологии меняются ежедневно - стоит ли бизнесу пытаться поспевать?</title><link>https://startdebugging.net/ru/2020/04/technology-changes-on-a-daily-basis-should-your-business-try-to-keep-up/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/04/technology-changes-on-a-daily-basis-should-your-business-try-to-keep-up/</guid><description>Должен ли ваш бизнес гнаться за каждой новой технологической тенденцией? Скорее всего, нет. Узнайте, когда стоит обновляться, а когда лучше сосредоточиться на ценности для пользователей.</description><pubDate>Sat, 04 Apr 2020 00:00:00 GMT</pubDate></item><item><title>Xamarin Startup Tracing для Android</title><link>https://startdebugging.net/ru/2020/04/xamarin-startup-tracing-for-android/</link><guid isPermaLink="true">https://startdebugging.net/ru/2020/04/xamarin-startup-tracing-for-android/</guid><description>Сократите время запуска вашего Xamarin-приложения для Android до 48%, используя startup tracing, который AOT-компилирует только код, нужный при старте.</description><pubDate>Sat, 04 Apr 2020 00:00:00 GMT</pubDate></item><item><title>AdMob Native Ads в Xamarin Forms (Android)</title><link>https://startdebugging.net/ru/2019/09/admob-native-ads-in-xamarin-forms-android/</link><guid isPermaLink="true">https://startdebugging.net/ru/2019/09/admob-native-ads-in-xamarin-forms-android/</guid><description>Пошаговое руководство по реализации AdMob Native Ads в приложении Xamarin Forms для Android с использованием custom renderer.</description><pubDate>Fri, 20 Sep 2019 00:00:00 GMT</pubDate></item><item><title>Отчёт Lighthouse: правильно подбирайте размер изображений</title><link>https://startdebugging.net/ru/2019/07/lighthouse-report-properly-size-images/</link><guid isPermaLink="true">https://startdebugging.net/ru/2019/07/lighthouse-report-properly-size-images/</guid><description>Повысьте свой балл производительности в Lighthouse, корректно подбирая размер и оптимизируя изображения для веба с помощью инструментов вроде Squoosh.</description><pubDate>Sun, 28 Jul 2019 00:00:00 GMT</pubDate></item><item><title>Xamarin Forms - использование OnPlatform</title><link>https://startdebugging.net/ru/2019/07/xamarin-forms-using-onplatform/</link><guid isPermaLink="true">https://startdebugging.net/ru/2019/07/xamarin-forms-using-onplatform/</guid><description>Узнайте, как использовать OnPlatform в Xamarin Forms, чтобы задавать значения свойств, специфичные для платформы, как в XAML, так и в C#.</description><pubDate>Sat, 27 Jul 2019 00:00:00 GMT</pubDate></item><item><title>Отчёт Lighthouse: откладывайте изображения вне экрана в WordPress</title><link>https://startdebugging.net/ru/2019/05/lighthouse-report-defer-offscreen-images-in-wordpress/</link><guid isPermaLink="true">https://startdebugging.net/ru/2019/05/lighthouse-report-defer-offscreen-images-in-wordpress/</guid><description>Поднимите оценку производительности WordPress-сайта в Lighthouse, откладывая загрузку изображений вне экрана с помощью lazy loading.</description><pubDate>Wed, 01 May 2019 00:00:00 GMT</pubDate></item><item><title>Используйте Android-смартфон как веб-камеру для Streamlabs</title><link>https://startdebugging.net/ru/2019/04/use-your-android-phone-as-a-webcam-for-streamlabs/</link><guid isPermaLink="true">https://startdebugging.net/ru/2019/04/use-your-android-phone-as-a-webcam-for-streamlabs/</guid><description>Превратите старый Android-смартфон в веб-камеру для Streamlabs OBS с помощью DroidCam, по пошаговой инструкции.</description><pubDate>Tue, 30 Apr 2019 00:00:00 GMT</pubDate></item><item><title>Аудит производительности, доступности и пользовательского опыта вашего сайта с помощью Google Lighthouse</title><link>https://startdebugging.net/ru/2019/04/audit-your-sites-performance-accessibility-and-user-experience-using-google-lighthouse/</link><guid isPermaLink="true">https://startdebugging.net/ru/2019/04/audit-your-sites-performance-accessibility-and-user-experience-using-google-lighthouse/</guid><description>Узнайте, как использовать Google Lighthouse для аудита производительности, доступности и пользовательского опыта вашего сайта прямо из Chrome DevTools.</description><pubDate>Mon, 29 Apr 2019 00:00:00 GMT</pubDate></item><item><title>Анимация фона с помощью Xamarin Forms</title><link>https://startdebugging.net/ru/2019/01/animating-backgrounds-with-xamarin-forms/</link><guid isPermaLink="true">https://startdebugging.net/ru/2019/01/animating-backgrounds-with-xamarin-forms/</guid><description>Создайте плавный анимированный фон в Xamarin Forms с помощью анимаций ScaleTo на наложенных BoxView.</description><pubDate>Wed, 02 Jan 2019 00:00:00 GMT</pubDate></item><item><title>Начинаем работать с CSS в Xamarin Forms 3</title><link>https://startdebugging.net/ru/2018/04/getting-started-with-css-in-xamarin-forms-3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2018/04/getting-started-with-css-in-xamarin-forms-3/</guid><description>Узнайте, как использовать Cascading StyleSheets (CSS) в Xamarin Forms 3, включая встраиваемые CDATA-стили и встраиваемые CSS-файлы.</description><pubDate>Wed, 18 Apr 2018 00:00:00 GMT</pubDate></item><item><title>Расширяем AdMob-renderer Xamarin Forms для показа Microsoft Ads в UWP</title><link>https://startdebugging.net/ru/2018/04/extending-your-xamarin-forms-admob-renderer-to-display-microsoft-ads-on-uwp/</link><guid isPermaLink="true">https://startdebugging.net/ru/2018/04/extending-your-xamarin-forms-admob-renderer-to-display-microsoft-ads-on-uwp/</guid><description>Узнайте, как расширить ваш AdMob-renderer Xamarin Forms, чтобы показывать Microsoft Ads в UWP с помощью Microsoft Advertising SDK.</description><pubDate>Sun, 08 Apr 2018 00:00:00 GMT</pubDate></item><item><title>Обновление до Xamarin Forms 3</title><link>https://startdebugging.net/ru/2018/04/upgrading-xamarin-forms-3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2018/04/upgrading-xamarin-forms-3/</guid><description>Краткое руководство по обновлению до Xamarin Forms 3, включая распространённые ошибки сборки и способы их устранения.</description><pubDate>Sat, 07 Apr 2018 00:00:00 GMT</pubDate></item><item><title>UWP - Используем Acrylic Brush в меню MasterDetail Xamarin Forms</title><link>https://startdebugging.net/ru/2018/01/using-acrylic-brush-xamarin-forms-masterdetail/</link><guid isPermaLink="true">https://startdebugging.net/ru/2018/01/using-acrylic-brush-xamarin-forms-masterdetail/</guid><description>Примените UWP Acrylic Brush к меню MasterDetail Xamarin Forms с помощью native renderer на стороне платформы без сторонних библиотек.</description><pubDate>Tue, 16 Jan 2018 00:00:00 GMT</pubDate></item><item><title>Размер AdMob Smart Banner в Xamarin Forms</title><link>https://startdebugging.net/ru/2017/12/admob-smart-banner-sizing-xamarin-forms/</link><guid isPermaLink="true">https://startdebugging.net/ru/2017/12/admob-smart-banner-sizing-xamarin-forms/</guid><description>Как рассчитать корректную высоту AdMob Smart Banner в Xamarin Forms на основе density-independent pixels экрана.</description><pubDate>Sat, 30 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Производительность ListView в Xamarin и его замена на Syncfusion SfListView</title><link>https://startdebugging.net/ru/2017/12/xamarin-listview-performance/</link><guid isPermaLink="true">https://startdebugging.net/ru/2017/12/xamarin-listview-performance/</guid><description>Повысьте производительность скролла ListView в Xamarin Forms с помощью стратегий caching, оптимизации шаблонов и Syncfusion SfListView.</description><pubDate>Sat, 16 Dec 2017 00:00:00 GMT</pubDate></item><item><title>How To: добавляем AdMob в ваше приложение Xamarin Forms</title><link>https://startdebugging.net/ru/2015/09/how-to-add-admob-to-your-xamarin-forms-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2015/09/how-to-add-admob-to-your-xamarin-forms-app/</guid><description>Пошаговое руководство по интеграции рекламы AdMob в приложение Xamarin Forms на Android и iOS с использованием custom view renderers.</description><pubDate>Sun, 27 Sep 2015 00:00:00 GMT</pubDate></item><item><title>Исправление ошибки Xamarin: Csc.exe exited with code -1073741790. (MSB6006)</title><link>https://startdebugging.net/ru/2015/08/fix-xamarin-error-csc-exe-exited-with-code-1073741790-msb6006/</link><guid isPermaLink="true">https://startdebugging.net/ru/2015/08/fix-xamarin-error-csc-exe-exited-with-code-1073741790-msb6006/</guid><description>Исправьте ошибку MSB6006 Csc.exe в Xamarin, запустив от имени Администратора или очистив папки bin и obj в решении.</description><pubDate>Fri, 28 Aug 2015 00:00:00 GMT</pubDate></item><item><title>Смена версии Cordova, используемой Hybrid Apps в Visual Studio 2013</title><link>https://startdebugging.net/ru/2014/11/changing-cordova-version-used-hybrid-apps-visual-studio-2013/</link><guid isPermaLink="true">https://startdebugging.net/ru/2014/11/changing-cordova-version-used-hybrid-apps-visual-studio-2013/</guid><description>Как обновить версию Cordova, используемую Hybrid Apps в Visual Studio 2013, отредактировав файл platforms.js.</description><pubDate>Sat, 08 Nov 2014 00:00:00 GMT</pubDate></item><item><title>Сколько ПК нужно, чтобы досчитать до одного триллиона</title><link>https://startdebugging.net/ru/2013/10/counting-up-to-one-trillion/</link><guid isPermaLink="true">https://startdebugging.net/ru/2013/10/counting-up-to-one-trillion/</guid><description>Бенчмарк того, сколько времени нужно ПК, чтобы досчитать до одного триллиона и дальше, с обновлёнными результатами 2023 года.</description><pubDate>Sun, 13 Oct 2013 00:00:00 GMT</pubDate></item><item><title>Добавляем распознавание речи в приложение WP8</title><link>https://startdebugging.net/ru/2013/06/adding-speech-recognition-to-your-wp8-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2013/06/adding-speech-recognition-to-your-wp8-app/</guid><description>Добавьте распознавание речи в ваше приложение Windows Phone 8 с помощью контрола SpeechTextBox из Windows Phone toolkit.</description><pubDate>Sun, 23 Jun 2013 00:00:00 GMT</pubDate></item><item><title>Периодическое обновление live tiles с помощью ScheduledTaskAgent</title><link>https://startdebugging.net/ru/2013/06/periodically-update-your-live-tiles-using-scheduledtaskagent/</link><guid isPermaLink="true">https://startdebugging.net/ru/2013/06/periodically-update-your-live-tiles-using-scheduledtaskagent/</guid><description>Используйте ScheduledTaskAgent, чтобы периодически обновлять live tiles вашего Windows Phone из RSS-фида.</description><pubDate>Sun, 23 Jun 2013 00:00:00 GMT</pubDate></item><item><title>Создаём wide tiles для приложения Windows Phone 7</title><link>https://startdebugging.net/ru/2013/05/creating-wide-tiles-for-your-windows-phone-7-app/</link><guid isPermaLink="true">https://startdebugging.net/ru/2013/05/creating-wide-tiles-for-your-windows-phone-7-app/</guid><description>Создавайте wide live tiles одновременно для Windows Phone 7 и 8 с помощью библиотеки MangoPollo и одного фрагмента кода.</description><pubDate>Sun, 05 May 2013 00:00:00 GMT</pubDate></item><item><title>Helper для IsolatedStorageSettings в Windows Phone</title><link>https://startdebugging.net/ru/2012/11/insolated-storage-settings-helper-for-windows-phone/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/11/insolated-storage-settings-helper-for-windows-phone/</guid><description>Простой класс IsolatedStorageSettingsHelper для Windows Phone с методами получения, сохранения и пакетного сохранения элементов в IsolatedStorageSettings.</description><pubDate>Sat, 03 Nov 2012 00:00:00 GMT</pubDate></item><item><title>Исправляем странные цвета вкладок Firefox в Windows 8</title><link>https://startdebugging.net/ru/2012/11/fix-firefox-tabs-having-strange-colors-in-windows-8/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/11/fix-firefox-tabs-having-strange-colors-in-windows-8/</guid><description>Как устранить графический баг с цветами вкладок Firefox в Windows 8 на видеокартах nVidia, отключив аппаратное ускорение.</description><pubDate>Thu, 01 Nov 2012 00:00:00 GMT</pubDate></item><item><title>AdMob роняет приложения Windows Phone. Что использовать вместо него?</title><link>https://startdebugging.net/ru/2012/09/admob-crashing-windows-phone-apps-what-is-the-alternative/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/09/admob-crashing-windows-phone-apps-what-is-the-alternative/</guid><description>AdMob ронял моё приложение Windows Phone через WebBrowser.InvokeScript. Здесь вы найдёте stack trace, корневую причину и альтернативные рекламные сети, например InnerActive.</description><pubDate>Sun, 16 Sep 2012 00:00:00 GMT</pubDate></item><item><title>Неделя вебинаров по mobile HTML5 и jQuery</title><link>https://startdebugging.net/ru/2012/06/mobile-html5-and-jquery-webinar-week/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/06/mobile-html5-and-jquery-webinar-week/</guid><description>Серия из 3 бесплатных вебинаров по HTML5 и jQuery: с чего начать, работа с данными и построение реального приложения.</description><pubDate>Sat, 09 Jun 2012 00:00:00 GMT</pubDate></item><item><title>Windows 8 и Secure Boot: что делать, если ваш ПК его не поддерживает?</title><link>https://startdebugging.net/ru/2012/06/windows-8-and-secure-boot-what-if-your-pc-doesnt-support-it/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/06/windows-8-and-secure-boot-what-if-your-pc-doesnt-support-it/</guid><description>Что делать, когда при установке Windows 8 появляется ошибка &apos;Secure Boot isn&apos;t compatible with your PC&apos;, и что такое Secure Boot на самом деле.</description><pubDate>Tue, 05 Jun 2012 00:00:00 GMT</pubDate></item><item><title>Google Maps 8-bit для NES</title><link>https://startdebugging.net/ru/2012/03/8bit-google-maps-for-nes/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/03/8bit-google-maps-for-nes/</guid><description>Google Maps 8-bit для NES: первоапрельская шутка Google приносит ретро 8-битную графику в Google Maps - со street view, маршрутами и не только.</description><pubDate>Sat, 31 Mar 2012 00:00:00 GMT</pubDate></item><item><title>3D-анимации только на CSS3</title><link>https://startdebugging.net/ru/2012/03/3d-animations-using-pure-css3/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/03/3d-animations-using-pure-css3/</guid><description>Узнайте, как создавать 3D-анимации только средствами CSS3 - perspective и transform-transitions, с поддержкой WebKit и Firefox.</description><pubDate>Sun, 04 Mar 2012 00:00:00 GMT</pubDate></item><item><title>CSS: как использовать кастомные шрифты</title><link>https://startdebugging.net/ru/2012/03/css3-custom-fonts/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/03/css3-custom-fonts/</guid><description>Узнайте, как использовать кастомные шрифты в CSS3 через правило @font-face: примеры синтаксиса и демо.</description><pubDate>Fri, 02 Mar 2012 00:00:00 GMT</pubDate></item><item><title>Текстурный/шумный градиентный фон в CSS</title><link>https://startdebugging.net/ru/2012/03/css3-textured-noisy-gradient-background/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/03/css3-textured-noisy-gradient-background/</guid><description>Как создавать в CSS текстурные, зашумлённые градиентные фоны, комбинируя слои градиента и изображения шума через свойство background-image.</description><pubDate>Fri, 02 Mar 2012 00:00:00 GMT</pubDate></item><item><title>Metro TimeBlock</title><link>https://startdebugging.net/ru/2012/02/metro-timeblock/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/02/metro-timeblock/</guid><description>Metro TimeBlock - настраиваемый контрол отображения времени для Windows Phone, позволяющий задать любой цвет, фон и размер.</description><pubDate>Wed, 08 Feb 2012 00:00:00 GMT</pubDate></item><item><title>Как установить Windows 8 с USB-накопителя</title><link>https://startdebugging.net/ru/2012/02/how-to-install-windows-8-using-a-usb-drive/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/02/how-to-install-windows-8-using-a-usb-drive/</guid><description>Пошаговое руководство по установке Windows 8 с USB-накопителя с помощью Windows 7 USB/DVD Download Tool: советы по форматированию, настройкам BIOS и устранению неполадок.</description><pubDate>Wed, 01 Feb 2012 00:00:00 GMT</pubDate></item><item><title>Вебинар по Metro и WinRT 2 февраля</title><link>https://startdebugging.net/ru/2012/01/metro-and-winrt-webinar-on-february-2nd/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/metro-and-winrt-webinar-on-february-2nd/</guid><description>Вебинар SilverlightShow по Metro и WinRT для разработчиков Silverlight/WPF: как использовать имеющийся опыт XAML для создания приложений Windows 8.</description><pubDate>Thu, 26 Jan 2012 00:00:00 GMT</pubDate></item><item><title>C#: преобразование Hex в Color</title><link>https://startdebugging.net/ru/2012/01/extension-method-hex-to-color/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/extension-method-hex-to-color/</guid><description>Метод-расширение C#, преобразующий hex-коды цветов (форматы RGB и ARGB) в объекты Color.</description><pubDate>Sat, 21 Jan 2012 00:00:00 GMT</pubDate></item><item><title>Windows Phone 7: получение текущей GPS-позиции с устройства</title><link>https://startdebugging.net/ru/2012/01/windows-phone-7-getting-the-current-gps-location-from-the-device/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/windows-phone-7-getting-the-current-gps-location-from-the-device/</guid><description>Как получить текущую GPS-позицию на устройстве Windows Phone 7 с помощью GeoCoordinateWatcher и события PositionChanged.</description><pubDate>Sun, 15 Jan 2012 00:00:00 GMT</pubDate></item><item><title>Как создавать собственные code snippets в Visual Studio</title><link>https://startdebugging.net/ru/2012/01/how-to-create-your-own-code-snippet/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/how-to-create-your-own-code-snippet/</guid><description>Пошаговое руководство по созданию собственных code snippets в Visual Studio 2010, включая простые сниппеты и использование literals для заменяемых параметров.</description><pubDate>Sat, 14 Jan 2012 00:00:00 GMT</pubDate></item><item><title>Повышаем продуктивность с помощью code snippets</title><link>https://startdebugging.net/ru/2012/01/improve-productivity-by-using-code-snippets/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/improve-productivity-by-using-code-snippets/</guid><description>Узнайте, как code snippets в Visual Studio помогают повысить продуктивность, позволяя вставлять переиспользуемые куски кода по короткому алиасу.</description><pubDate>Fri, 06 Jan 2012 00:00:00 GMT</pubDate></item><item><title>31 Days of Windows Phone Metro Design</title><link>https://startdebugging.net/ru/2012/01/31-days-of-windows-phone-metro-design/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/31-days-of-windows-phone-metro-design/</guid><description>Новая серия статей под названием 31 Days of Windows Phone Metro Design рассказывает о принципах metro design и о том, как сделать ваши приложения визуально привлекательными.</description><pubDate>Mon, 02 Jan 2012 00:00:00 GMT</pubDate></item><item><title>Используем Windows Azure для разработчика Windows Phone -- Вебинар</title><link>https://startdebugging.net/ru/2012/01/leveraging-windows-azure-for-the-windows-phone-developer-webinar/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/leveraging-windows-azure-for-the-windows-phone-developer-webinar/</guid><description>Предстоящий вебинар SilverlightShow от Samidip Basu о том, как использовать Windows Azure для разработки под Windows Phone: push notifications, OData, SQL Azure и не только.</description><pubDate>Mon, 02 Jan 2012 00:00:00 GMT</pubDate></item><item><title>Прозрачный TextBox для Windows Phone</title><link>https://startdebugging.net/ru/2012/01/transparent-textbox-for-windows-phone/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/transparent-textbox-for-windows-phone/</guid><description>XAML-стиль для Windows Phone, делающий TextBox полностью прозрачным, в том числе убирающий белый эффект фона при касании.</description><pubDate>Mon, 02 Jan 2012 00:00:00 GMT</pubDate></item><item><title>Expression Blend 4 перестал работать? Вот ваш FIX.</title><link>https://startdebugging.net/ru/2012/01/expression-blend-4-has-stopped-working-heres-your-fix/</link><guid isPermaLink="true">https://startdebugging.net/ru/2012/01/expression-blend-4-has-stopped-working-heres-your-fix/</guid><description>Решение проблемы с падением Expression Blend 4 после установки Visual Studio 11 Dev Preview или .NET Framework 4.5 - с командами ngen, нужными для исправления.</description><pubDate>Sun, 01 Jan 2012 00:00:00 GMT</pubDate></item></channel></rss>