Start Debugging

Тег: dotnet-11

309 статей · Страница2из31

Что такое transparent-раскладка структуры и почему структура-обёртка с одним полем меняет соглашение о вызовах в .NET?
Transparent-структура - это структура, которую ABI обрабатывает точно так же, как её единственное поле. В .NET 11 такой гарантии нет: структура, оборачивающая double, передаётся в RCX в Windows x64, но в XMM0 в Linux и macOS. Здесь разобран дизассемблированный код JIT-компилятора .NET 11 для трёх ABI, ошибки P/Invoke, которые из этого возникают, и способы писать типы-обёртки, безопасные на любой границе.
Что такое shadow-свойство в EF Core 11 и почему оно появилось в моей миграции?
Shadow-свойство - это столбец, который EF Core отслеживает без соответствующего CLR-свойства. Почему EF Core 11 их создаёт (отсутствующие FK-свойства, неверно названные FK, несовпадение типов, раздвоенные связи), как заметить столбец вида BlogId1 в миграции, как исправить каждую причину и как использовать shadow-свойства намеренно.
AddDbContextPool или AddDbContextFactory для параллельного выполнения запросов EF Core
AddDbContextPool выдаёт один scoped DbContext на область DI, поэтому не может выполнять два запроса одновременно. AddDbContextFactory и AddPooledDbContextFactory дают контекст на каждый вызов, а именно это нужно параллельным запросам. Замеры на EF Core 11 RC 1: пулированная фабрика создаёт контекст за 342 нс и 40 Б против 17 мкс и 44 КБ.
C# Dev Kit 11.0 сводит шесть процессов в один бинарный файл Native AOT
Предварительная версия C# Dev Kit 11.0 заменяет шесть управляемых процессов одним процессом CSDevKit на Native AOT и добавляет постоянный кеш проектов. Решение Aspire из 407 проектов готово за 3.0 с вместо 84.1 с и занимает 316 МБ вместо 2 072 МБ.
Исправление: переменные окружения из launchSettings.json игнорируются в профиле с commandName: Executable
Если ваш профиль Executable запускает dotnet run или dotnet watch, вложенная команда применяет профиль по умолчанию и перезаписывает ваши переменные. Добавьте --no-launch-profile и используйте SDK 10.0.200+.
Blazor получает компоненты агентного UI в .NET 11 RC1: ChatPage, UIAgent и подтверждение вызова инструментов
Microsoft.AspNetCore.Components.AI - экспериментальный пакет Blazor в .NET 11 RC1, который превращает любой IChatClient в потоковый чат-интерфейс с подтверждением вызова инструментов, типизированным отображением инструментов и общим состоянием поверх AG-UI.
Исправление: WebSocket горячей перезагрузки Blazor в dotnet watch не работает на собственном локальном домене (403)
Начиная с сентябрьских SDK .NET 2026 года (10.0.112, 10.0.401, 11 RC1) dotnet watch отклоняет WebSocket-подключения browser-refresh с неизвестных источников. Задайте DOTNET_WATCH_AUTO_RELOAD_WS_ORIGINS равным имени вашего хоста.
Как добавить уникальный индекс на JSON-сопоставленное свойство в EF Core 11 (SQL Server и SQLite)
HasIndex(...).IsUnique() на члене ToJson() не обеспечивает уникальность в EF Core 11 RC 1: SQL Server отбрасывает IsUnique, а SQLite индексирует весь документ. Вынесите значение JSON в вычисляемый столбец и поставьте уникальный индекс на него.
Исправление: IConfiguration.Bind не заполняет свойство-массив или List<T> из appsettings.json
Биндер молча пропускает свойства-массивы без публичного сеттера, IReadOnlyList<T> только для чтения, поля и init-члены при генераторе исходного кода, а также добавляет элементы к значениям по умолчанию вместо их замены. Проверено на .NET 10.0.12 и 11 RC 1.
Назад Вперёд