ASP.NET Ядро 3.1 Горячая Перезагрузка Медленная

#asp.net-core

Вопрос:

У меня есть ASP.NET Core 3.1 проект, который требуется примерно 25 seconds построить. Хотя это и не чрезмерно, это медленный процесс разработки, когда в день вносится несколько небольших изменений.

 dotnet build
Microsoft (R) Build Engine version 16.7.2 b60ddb6f4 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.
Build succeeded.
    0 Warning(s)
    0 Error(s)
Time Elapsed 00:00:25.16

The project outputs two dll's, project.dll and project.Views.dll
 

Должны ли горячие перезагрузки улучшить это?

Я использовал эту команду dotnet watch run , и для моего проекта я не вижу существенных улучшений. Это займет столько времени, сколько потребуется, чтобы построить весь проект.

Я измерил время с включенной горячей перезагрузкой, и это заняло 38 seconds .

Я добавил <div>{@DateTime.Now}</div> его в представление, а затем внес изменения в контроллер, изменив один символ. Мое время до и после я измерил: с 21:04 по 21:42 = 38 секунд.

Может ли это быть проблемой с тем, как структурирован проект? Как я должен структурировать свое приложение для оптимального времени компиляции, чтобы повторная сборка / горячая перезагрузка выполнялась быстрее. (не чистые сборки)

Также должен ли я видеть такое же время горячей перезагрузки, как и у этого Java spring-boot-devtools ? (несколько секунд)

Комментарии:

1. Вероятно, только .NET 6 (в настоящее время предварительный просмотр 7) может обеспечить достаточно быстрое время отклика, так как только недавно Microsoft потратила достаточно времени на повышение производительности горячей перезагрузки, devblogs.microsoft.com/dotnet/introducing-net-hot-reload

2. Если вы работаете в Windows, проверьте, есть ли в вашем антивирусе исключение для папки разработки. В качестве альтернативы вы можете встроить WSL2, который с большей вероятностью будет исключен из сканирования.

3. Использование ASP.NET 3.1 версия LTE. Может быть, кто-нибудь, возможно, опубликует свое горячее время перезарядки. Это может быть моя машина/проект? Я нахожусь на macOS.

Ответ №1: