Start Debugging

Блог

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

Как настроить документ OpenAPI с помощью AddOperationTransformer и AddSchemaTransformer в ASP.NET Core 11

Подробный разбор встроенного конвейера трансформеров OpenAPI в .NET 11: трансформеры операций и схем, объекты контекста, порядок выполнения, трансформеры, активируемые через DI, а также рецепты для заголовков, ответов, примеров и точечных изменений свойств.

Как отобразить составной тип вместо owned-сущности в EF Core 11

Owned-сущности несут скрытый ключ и ссылочную идентичность, которые противоречат объектам-значениям. Вот как отобразить объект-значение как составной тип в EF Core 11, когда стоит переходить и какие есть подводные камни.

.NET 11 Runtime Async отказывается от флага EnablePreviewFeatures

По мере того как предварительные версии .NET 11 приближаются к ноябрьскому выпуску, Runtime Async повзрослел: проекты net11.0 включают его одним свойством MSBuild, а сами библиотеки среды выполнения теперь компилируются с ним.

Что такое PGO в .NET и нужно ли его включать?

PGO (оптимизация на основе профиля) позволяет JIT-компилятору .NET специализировать горячий код под типы и ветви, которые действительно встречаются в вашей нагрузке. Dynamic PGO включён по умолчанию начиная с .NET 8, поэтому в .NET 8 и более поздних версиях включать его не нужно. Вот что он делает, как увидеть его эффект и те редкие случаи, когда стоит тронуть настройку.

Что такое многоуровневая компиляция и как о ней рассуждать?

Многоуровневая компиляция позволяет JIT в .NET компилировать каждый метод дважды: сначала быстро и без оптимизаций, чтобы приложение запустилось, а затем ещё раз с полными оптимизациями, когда среда выполнения узнаёт, что метод горячий. Здесь показано, как tier 0, tier 1, замена на стеке и Dynamic PGO складываются вместе, и как их наблюдать и настраивать.

Агент модернизации .NET теперь работает в CLI Copilot, а не только в Visual Studio

Агент modernize-dotnet от GitHub Copilot вышел как переносимый плагин 2026-07-09. Теперь он работает в VS Code, в CLI Copilot и на GitHub, с процессом оценить, спланировать и выполнить, артефакты которого фиксируются в вашем репозитории для проверки.

В чём разница между dotnet build и dotnet publish?

dotnet build компилирует проект для внутреннего цикла разработки и по умолчанию использует Debug. dotnet publish запускает target Publish в MSBuild, по умолчанию использует Release для net8.0 и более поздних версий и упаковывает готовую к развёртыванию папку с уже обработанными веб-ресурсами, автономными средами выполнения, одним файлом, обрезкой и AOT. Здесь ровно то, что производит каждая команда и когда её применять.

В чём разница между dotnet watch и dotnet run?

dotnet run один раз собирает ваш проект и запускает его. dotnet watch оборачивает dotnet run в наблюдатель за файлами: он перезапускает приложение или применяет hot reload каждый раз, когда вы сохраняете исходный файл. Вот что именно делает каждая команда, что задаёт dotnet watch, чего не задаёт dotnet run, и когда какую выбирать.

Что такое контракт IHostedService и когда его использовать?

IHostedService -- это интерфейс из двух методов (StartAsync/StopAsync), которые универсальный хост .NET вызывает при запуске и корректном завершении. Вот что гарантирует контракт, когда реализовывать его напрямую и какие изменения поведения в .NET 10 и 11 застают людей врасплох.

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

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