IIS Express немедленно завершает работу запущенного сайта после остановки веб-приложения

Я использую visual studio 2012 в первые дни, когда я хочу остановить приложение в IDE, приложение все еще работает на IIS Express, я мог бы просматривать и работать с запущенным приложением, но теперь я не могу. IIS немедленно завершает работу приложения, если я нажму кнопку "стоп". Насколько я помню, я не внес никаких изменений в настройки. Как я должен это делать, как и в первые дни.

5 ответов


недавно я столкнулся с подобной ситуацией, когда внезапно мой IIS Express остановился сразу после того, как я прекратил отладку. Это произошло после того, как я включил "включить редактирование и продолжить". Поэтому, если вы отключите это, вы увидите, что IIS Express остается запущенным даже после остановки отладки.

щелкните правой кнопкой мыши проект > выберите Свойства > выберите вкладку "Веб" слева > снимите флажок .


в VS2010 и VS2012 параметр редактировать и продолжить отключен по умолчанию при создании нового проекта веб-приложения. В VS2013 он включен по умолчанию.

вы можете найти этот параметр на вкладке Веб в окне свойств веб-проекта.

edit and continue option vs2013

при включении "включить редактирование и продолжить" отладчик VS запускает веб-приложение в IIS Express. При остановке отладки IIS Express также закрывается. При таком поведении вы увидите IIS Express System tray появляется во время отладки и исчезает после отладки. Это поведение такое же, как и в VS2012, когда включена опция включить редактирование и продолжить.

Если вам не нужна функциональность "редактировать и продолжать" во время разработки и хотел бы, чтобы IIS Express оставался после сеанса отладки,вы можете просто отключить опцию Включить редактирование и продолжить.

Яf вы хотите использовать "редактировать и продолжать" или вы разработка Asp.net 5 сайт (ASP.NET 5 проектов не имеют флажка изменить и продолжить в свойствах проекта)вы должны использовать команду "Detech all" остановить отладку.

отладчик отсоединится от процесса iis, не закрывая его.

ясно, что функция" редактировать и продолжать " не будет работать, пока вы не начнете отладку снова.

enter image description here


вместо удара (X) STOP кнопка, вы можете использовать Detach all пункт меню в меню отладка. Основное отличие состоит в том, что кнопка stop завершит любой процесс, который в настоящее время отлаживается, а Detach All отключит отладчик от процессов, но не завершит их.

обычный рабочий процесс IIS также будет завершен, но поскольку он раньше работал как Служба, он также автоматически запустится снова, и, таким образом, вы можете продолжить используйте его без необходимости перезапуска процесса через |> Debug или |> Start without debugging.

скриншот для справки

Adding 'Edit and Continue' button to debugging toolbar.


похоже, что с момента выпуска Visual Studio 2015 Update 2 принятое решение больше не работает.

самое простое решение, которое я нашел до сих пор, - это начать проект, выбрав"Запуск Без Отладки" из Debug.


Это, вероятно, лучше всего отнести к другой обходной путь, но это работает для меня.

Я обычно начинаю проект в первый раз с контекстного меню" Вид в браузере " (или CTRL-Shift-W).

с тех пор все, что требует отладки, я обычно прикрепляю к новому существующему процессу iisexpress. Хотя mousing through context menues сделает это не стартером, он почти так же быстр, как F5 со следующими нажатиями клавиш:

  • Shift-F6 в создайте текущий проект или Ctrl-Shift - B для создания все решение (это требуется только в том случае, если вы внесли изменения, но я подумал, что я должен упомянуть об этом, так как F5 уже делает это).
  • Ctrl-Alt-P открывает диалоговое окно присоединение к процессу

  • ввод " iis " приведет вас к процессу iisexpress

  • нажмите enter, и вы прикреплены

Если у вас работает более одного iisexpress, последний запущен обычно появляются в верхней части списка. Другой вариант-shift-выбрать и прикрепить ко всем из них.

Это имеет ряд преимуществ IMO. Прежде всего, он не прекращает процесс. Во-вторых, окно браузера не закрывается при остановке отладки. Это ломает меня, когда я вижу, что разработчик повторяет 7 шагов, чтобы получить воспроизведение ошибки, когда все, что ему нужно сделать, это нажать F5 в существующем окне браузера, чтобы просто перепечатать после подключения отладчика. Последнее, что я должен сделать это уже при подключении к nunit, поэтому я получаю более последовательный опыт.