Start Debugging

Тег: dotnet-11

222 статей · Страница6из23

Как настроить документ 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 складываются вместе, и как их наблюдать и настраивать.
В чём разница между 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, и когда какую выбирать.
Миграция minimal API с ручных проверок валидации на встроенную валидацию в ASP.NET Core 11
Пошаговое руководство по замене написанных вручную if-проверок в обработчиках minimal API на ASP.NET Core 11 встроенным валидатором на основе DataAnnotations и генерации исходного кода: что ломается, какие ручные правила переносятся, а какие нет, и как убедиться, что контракт 400 ProblemDetails остаётся прежним.
Что такое trim-safe код и как его писать?
Trim-safe код -- это код, который триммер .NET может статически доказать как достижимый, поэтому он выживает при удалении неиспользуемого кода из self-contained приложения. Это практическое руководство: включите анализатор, доведите каждое предупреждение IL2xxx до нуля, аннотируйте рефлексию с помощью DynamicallyAccessedMembers, распространите RequiresUnreferencedCode на публичные API и замените неанализируемые паттерны генераторами исходного кода.
Исправление: "415 Unsupported Media Type" от endpoint минимального API в ASP.NET Core 11
Минимальный API возвращает 415, когда Content-Type запроса не совпадает с тем, что связывает endpoint. Отправьте Content-Type: application/json для типа, связанного с телом, или используйте [FromForm] для форм и загрузки файлов.
Назад Вперёд