Start Debugging

Тег: dotnet

331 статей · Страница9из34

Агент модернизации .NET теперь работает в CLI Copilot, а не только в Visual Studio
Агент modernize-dotnet от GitHub Copilot вышел как переносимый плагин 2026-07-09. Теперь он работает в VS Code, в CLI Copilot и на GitHub, с процессом оценить, спланировать и выполнить, артефакты которого фиксируются в вашем репозитории для проверки.
В чём разница между dotnet watch и dotnet run?
dotnet run один раз собирает ваш проект и запускает его. dotnet watch оборачивает dotnet run в наблюдатель за файлами: он перезапускает приложение или применяет hot reload каждый раз, когда вы сохраняете исходный файл. Вот что именно делает каждая команда, что задаёт dotnet watch, чего не задаёт dotnet run, и когда какую выбирать.
В чём разница между dotnet build и dotnet publish?
dotnet build компилирует проект для внутреннего цикла разработки и по умолчанию использует Debug. dotnet publish запускает target Publish в MSBuild, по умолчанию использует Release для net8.0 и более поздних версий и упаковывает готовую к развёртыванию папку с уже обработанными веб-ресурсами, автономными средами выполнения, одним файлом, обрезкой и AOT. Здесь ровно то, что производит каждая команда и когда её применять.
Что такое контракт IHostedService и когда его использовать?
IHostedService -- это интерфейс из двух методов (StartAsync/StopAsync), которые универсальный хост .NET вызывает при запуске и корректном завершении. Вот что гарантирует контракт, когда реализовывать его напрямую и какие изменения поведения в .NET 10 и 11 застают людей врасплох.
Что такое trim-safe код и как его писать?
Trim-safe код -- это код, который триммер .NET может статически доказать как достижимый, поэтому он выживает при удалении неиспользуемого кода из self-contained приложения. Это практическое руководство: включите анализатор, доведите каждое предупреждение IL2xxx до нуля, аннотируйте рефлексию с помощью DynamicallyAccessedMembers, распространите RequiresUnreferencedCode на публичные API и замените неанализируемые паттерны генераторами исходного кода.
Именованные фильтры запросов vs один глобальный фильтр запросов в EF Core 11: что выбрать?
Оба варианта генерируют одинаковый SQL. Прибегайте к именованным фильтрам только тогда, когда нужно отключить один предикат независимо; один комбинированный фильтр проще для единственной задачи в EF Core 11.
Исправление: "415 Unsupported Media Type" от endpoint минимального API в ASP.NET Core 11
Минимальный API возвращает 415, когда Content-Type запроса не совпадает с тем, что связывает endpoint. Отправьте Content-Type: application/json для типа, связанного с телом, или используйте [FromForm] для форм и загрузки файлов.
Назад Вперёд