Подтвердить что ты не робот

Visual Studio регулярно замораживает запуск Microsoft.VisualStudio.Web.Host.exe

Фон

Я поддерживаю несколько веб-сайтов, которые представляют собой проекты веб-сайтов Visual Studio.

Проблема

Я обнаружил, что с несколькими из этих проектов Visual Studio регулярно зависает, пока я работаю над кодом. Это не происходит для некоторых проектов веб-сайта, и я не видел, чтобы это происходило в каких-либо проектах веб-приложений.

Симптомы

  • Каждый раз, когда он замерзает, требуется около полутора минут, прежде чем я смогу снова использовать его.
  • Во время замораживания диспетчер задач Windows сообщает, что Microsoft.VisualStudio.Web.Host.exe максимизирует один из ядер ЦП.

Шаги по воспроизведению

  • Откройте файл .cs в каталоге App_Code.
  • Внести изменения в файл.
  • Сохраните файл.
  • Перейдите в другое место (например, вкладка переключателя, закройте файл, откройте другую программу в Windows).
  • Вернитесь к файлу (например, перейдите на вкладку переключателя, откройте его или вернитесь в Visual Studio).

Другие действия, которые иногда вызывают проблему:

  • "Перейти к определению"
  • Открытие файла
  • Предварительный просмотр файла
  • Закрытие файла
  • Использование рефакторинга
  • "Поиск использования"

Что я пробовал

  • Как Visual Studio 2012, так и Visual Studio 2015
  • Изменение действия по созданию проекта веб-сайта
  • Отключение "Создание веб-сайта как часть решения"
  • Удаление веб-ссылок и папки Bin, похоже, сводят к минимуму проблему, но, очевидно, это нарушает веб-сайт. Возможно, проекты веб-сайтов испытывают эту проблему, когда они содержат много кода на С#, отличном от файлов с кодом?

Аналогичные проблемы

Я нашел следующие потенциально связанные проблемы с помощью Google, но ни один из них, казалось, не содержал обходного решения или решения.

4b9b3361

Ответ 1

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

Нелегкое решение, но оно остановило проблему.

Ответ 2

Я заметил, что проблема случалась реже, когда я приостановил ReSharper.

Параметры ReSharper в Visual Studio, показывающие кнопку

Проблема по-прежнему возникала при редактировании классов в App_Code, но перезагрузка Visual Studio работала над ней.

Ответ 3

У меня возникла аналогичная проблема. Один проект веб-приложения с десятками библиотек классов, перенесенный с VS 2010 на VS 2013.

Мне удалось решить мою проблему, отключив параметр "Хостинг":

Чтобы отключить процесс хостинга

  • Откройте исполняемый проект в Visual Studio. Проекты, которые не создавать исполняемые файлы (например, библиотеку классов или сервисные проекты) не имеют этой опции.
  • В меню Проект выберите Свойства.
  • Перейдите на вкладку Отладка.
  • Снимите флажок Включить процесс хостинга Visual Studio.

Подробная информация о MSDN: http://msdn.microsoft.com/en-us/library/ms185330.aspx

Ответ 4

Другой вариант для людей, которые испытывают это на старых веб-приложениях, которые не имеют страницы свойств в принятом ответе выше.

Отключить "Разрешить обновление этого предварительно скомпилированного сайта".

  • Открыть сайт/Решение
  • Щелкните правой кнопкой мыши и просмотрите страницы свойств
  • Перейдите к параметрам MSBuild
  • Снимите флажок "Разрешить обновление этого предварительно скомпилированного сайта"

Это сработало для меня.

Ответ 5

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

Другие действия, которые иногда вызывают проблему:

"Перейти к определению"

Открытие файла

Предварительный просмотр файла

Закрытие файла

Использование рефакторинга "Найти обычаи"

Плюс intellisense не работал (даже с CTRL + J) и "Определение Peek" также висит.

Я должен был убить визуальную студию (как 2015, так и 2017).

Мое решение заключалось в том, чтобы войти в проект, с которым у меня возникли проблемы, открыть "Консоль диспетчера пакетов" и удалить и переустановить "DotNetCompilerPlatform"

uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform 

а затем

install-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

До сих пор каждая проблема, с которой я столкнулся, не возобновилась (но это было только сегодня, так что еще нужно дать ей время).

UPDATE:

Он снова начал ползти. Я также заметил, что тот, кто установил это решение, только сделал это для двух из разных проектов. Удаление платформы компилятора (что означает использование компиляторов, поставляемых с Visual Studio), снова стало реальностью.