Visual Studio Debug очень медленный с включенной компиляцией Razor Runtime только на моем компьютере.

Вопрос или проблема

У меня VS 17.10, и я использую это расширение в своем asp.net core (.net 6), чтобы включить компиляцию razor во время выполнения: RazorRuntimeCompilationMvcCoreBuilderExtensions.AddServices(builder.Services);

Однако это значительно замедляет загрузку моего приложения, только во время отладки. Моей машине требуется около 46 секунд, чтобы загрузить одну конкретную страницу razor, в то время как у нескольких моих коллег это занимает всего около 8 секунд. Использование процессора и памяти не ужасное. У нас у всех схожие системы. Я также сбросил настройки VS без результата.

Существует множество страниц Razor (дочерних страниц), и я получаю эти сообщения о загрузке для примерно 50 сборок (соответствующих различным дочерним страницам):

...exe' (CoreCLR: clrhost): Загружен 'y3bjdb4m.e2v'. 
...exe' (CoreCLR: clrhost): Загружен '1kxxxkso.iuc'. 
...exe' (CoreCLR: clrhost): Загружен 'asqc3qse.c1z'. 
...exe' (CoreCLR: clrhost): Загружен 't4bl1glf.nuh'. 
...exe' (CoreCLR: clrhost): Загружен 'bxbooev3.eeq'. 
...exe' (CoreCLR: clrhost): Загружен 'ygghqrqy.jkp'. 
...exe' (CoreCLR: clrhost): Загружен 'bnffzdaf.eyb'. 

… которые, похоже, замедляют загрузку страницы.

Есть идеи, какая настройка в моей системе может это замедлять?

Ответ или решение

Замедление работы отладчика в Visual Studio с включенной компиляцией Razor в режиме выполнения

Введение

Ваша проблема с замедлением загрузки страниц Razor в Visual Studio 17.10 на .NET 6 с включенной компиляцией Razor в режиме выполнения может быть вызвана множеством факторов. Понимание их поможет вам оптимизировать процесс разработки и отладки, чтобы обеспечить более быструю и эффективную работу. Резкие различия во времени загрузки между вашими коллегами и вами могут указывать на специфические настройки или конфигурации вашей системы.

Возможные причины замедления

  1. Количество загружаемых сборок:
    Указание на загрузку множества сборок (до 50) может говорить о том, что компилятор Razor работает с большим объемом кода, чем у ваших коллег. Это может привести к значительному времени, затрачиваемому на компиляцию и связывание.

  2. Параметры конфигурации Visual Studio:
    Убедитесь, что ваши настройки Visual Studio не отличаются от настроек ваших коллег. Особое внимание уделите таким параметрам, как:

    • Использование режима "Debug" вместо "Release".
    • Настройки отладчика, включая "Enable Just My Code".
    • Включение/отключение "Enable .NET Framework source stepping".
  3. Системные параметры:
    Конфигурация вашей машины может оказаться более узким местом. Хотя вы упомянули, что используете схожие системы, не забудьте проверить:

    • Драйверы видеокарт и возможность аппаратного ускорения.
    • Неверные или избыточные процессы в фоновом режиме, потребляющие ресурсы (например, антивирусное ПО).
    • Наличие системных обновлений и патчей.
  4. Проблемы с проектом:
    Если есть проблемы с самим проектом, такие как зависшие ссылки или неправильно настроенные зависимости, это также может влиять на время компиляции. Попробуйте:

    • Очистить и пересобрать проект (Clean & Rebuild Solution).
    • Проверить на наличие ошибок в коде и том, как и где используются Razor-разметки.
  5. Кэширование и сборка:
    Проверьте, как настроено кэширование для Razor. Если кэширование отключено или настроено неправильно, это может вынуждать компилятор постоянно пересобирать страницы при их обращении. Рассмотрите возможность применения атрибутов кэширования для ваших страниц.

  6. Режим отладки:
    Возможно, определенные элементы отладчика работают некорректно. Попробуйте задействовать менее интерактивные методы отладки, такие как "Logging" вместо полного отладчика для мониторинга, что может упростить процесс.

Заключение

Чтобы устранить замедление отладки с включенной компиляцией Razor:

  • Проверьте конфигурацию Visual Studio и системные настройки.
  • Примените оптимизации к проекту.
  • Убедитесь в наличии всех необходимых обновлений для системы и программного обеспечения.

Если у вас по-прежнему возникают проблемы, возможно, следует рассмотреть возможность воспроизведения вашей среды на другом устройстве или обратиться к поддержке Microsoft для более детального анализа.

На каждом этапе следите за временем загрузки и производительностью, чтобы выявить, какие изменения приводят к улучшению. Это поможет вам точно определить узкие места и оптимизировать вашу среду разработки.

Оцените материал
Добавить комментарий

Капча загружается...