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


173

Я використовую візуальну студію 2012 у перші дні, коли я хочу зупинити додаток в IDE, програма все ще працювала на IIS Express, я могла переглядати та працювати з запущеним додатком, але зараз не можу. IIS Програма негайного відключення, якщо натиснути кнопку зупинки. Оскільки я пам’ятаю, я не змінив налаштування. Як мені це робити так само, як перші дні.


1
Спробуйте "переглянути в браузері" замість "відтворити". Ви змінили браузер за замовчуванням? IE автоматично зупиняється при зупинці, Chrome - ні.
Емануеле Греко

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

Я думаю, це щось пов’язане з IIS Express.
шабля

1
Замість того, щоб натиснути кнопку зупинки, ви також можете скористатись пунктом "Відлучити все" у меню налагодження.
jessehouwing

1
Він відокремив налагоджувач від налагоджених процесів, але не вбиває процеси, що протікають.
jessehouwing

Відповіді:


344

Нещодавно я стикався з подібною ситуацією, коли раптом мій IIS Express зупинився відразу після того, як я припинив налагодження. Це сталося після того, як я увімкнув "Увімкнути редагування та продовжити" . Тож якщо ви відключите це, ви побачите, що IIS Express залишається запущеним навіть після припинення налагодження.

Клацніть правою кнопкою миші проект> натисніть кнопку Властивості> виберіть вкладку "Веб" зліва> зніміть Enable Edit and Continueпрапорець.


3
Я можу підтвердити, що це вирішило проблему для мене.
Максим Рулер

51
Це працює !! Клацніть правою кнопкою миші проект> натисніть кнопку Властивості> виберіть вкладку "Веб" зліва> зніміть прапорець "Увімкнути редагування та продовжити".
nv.snow

6
Це працює. У Visual studio 2013 відкрийте "Інструменти-> Параметри", виберіть у дереві "Налагодження-> Редагувати та продовжуйте" та зніміть прапорець "Увімкнути редагування та продовжити".
Renzo Ciot

3
Ви можете прочитати про цю функцію більш докладно тут: blogs.msdn.com/b/webdev/archive/2013/07/11/…
gor

5
Ні, це погане рішення - див. Правильне рішення, розміщене @jessehouwing, нижче.
Джош М.

85

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

Ви можете знайти цю опцію на вкладці Веб у вікні властивостей веб-проекту.

редагувати та продовжувати варіант vs2013

Якщо ввімкнути "Увімкнути редагування та продовжити", налагоджувач VS запускає вашу веб-програму в IIS Express. Коли ви припиняєте налагодження, IIS Express теж закритий. З такою поведінкою ви побачите, що під час налагодження з'являється системний лоток IIS Express та пішов після налагодження. Така поведінка така сама, як у VS2012, коли ввімкнено параметр "Увімкнути редагування та продовження".

Якщо під час розробки вам не потрібна функція "Редагувати та продовжувати" і хочете, щоб IIS Express залишався після сеансу налагодження, ви можете просто вимкнути параметр "Увімкнути редагування та продовження" .

Я ж вам потрібно використовувати «Змінити і продовжити» або ви розробляєте Asp.net 5 сайту (ASP.NET 5 проектів не мають Змінити і продовжити прапорець у властивостях проекту) ви повинні використовувати «DeTech все» команди щоб припинити налагодження.

Налагоджувач від'єднається від процесу iis, не закриваючи його.

Очевидно, що функція "Редагувати та продовжувати" не працюватиме, доки ви знову не почнете налагоджувати.

введіть тут опис зображення


картина варта тисячі слів: D
giammin

64

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

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

Знімок екрана для довідки

Додавання кнопки "Редагувати та продовжувати" на панелі інструментів налагодження.


3
це насправді ближче до реальної відповіді. Опція "РЕДАКТУВАННЯ І ПРОДУКЦІЯ" - це функція. Приєднання та від'єднання відстежувача налагодження до процесу прослуховування є основним поняттям обговорення тут, і чи натискання кнопки "стоп" припиняє процес прослуховування або просто відхиляється від нього .. до чого, звичайно, можна також знову долучитись.
Бретт Касвелл

@jcmcbeth справді працює для IIS Express .. Я не міг би побачити, що він не працює ... Процеси IIS Express - це саме це, їхні окремі процеси. але цей процес не залежить від вашої доданої налагоджувача, щоб запустити більше, ніж ваша програма або веб-сервер вимагають від відвідувача / користувача-агента / клієнта для запуску в процедуру
Brett Caswell,

1
@jcmcbeth, це дивна річ сказати на веб-сайті Q&A, коли ви говорите про підтримку функцій та налаштування. Це не візьміть і не залиште це scenerio; Ви заявили , що він не з'являється на роботі з IIS Express. Це робить.
Бретт Касвелл

1
У вікні VS 2015 RC для проектів ASP.NET 5 відсутній прапорець "Увімкнути редагування та продовжити", тому це саме шлях, якщо ви хочете використовувати IIS Express з цими.
Томек

7
Це відповідь на те, як VS 2015 Update 2 змінив поведінку IIS з видаленням Edit і Continue з веб-вкладки Project.
Robharrisaz

32

Схоже, після виходу Visual Studio 2015 Update 2 прийняте рішення більше не працює.

Найпростіше рішення , я знайшов до сих пір , щоб почати проект, вибравши « Start Without Debugging » з Debug меню.


1
Здається, ви говорите про VS2015.
Чад Каріш

Блін, я просто зіткнувся з цією проблемою і поставив питання з цього приводу. Чи є якийсь відомий спосіб вирішити це питання - крім повторного прив'язки ярликів до запуску без налагодження та від'єднання замість зупинки?
nikib3ro

1
Вони кажуть, що вони виправляють це в наступному оновлення, а тим часом інший трюк, який ви можете скористатися, - це натиснути ctrl + F5 для запуску сайту без налагодження: connect.microsoft.com/VisualStudio/feedback/details/2562576/…
mattmanser

4

Це, мабуть, найкраще віднести до іншого вирішення, але це працює для мене.

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

Відтоді все, що вимагає налагодження, я зазвичай приєдную до нового існуючого процесу iisexpress. Хоча перегляд контекстних меню зробить це не стартером, він майже такий же швидкий, як F5, з наступними натисканнями клавіш:

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

  • набравши "iis", то вас зведе до процесу iisexpress

  • натисніть Enter, і ви приєднаєтесь

Якщо у вас працює більше одного iisexpress, останній розпочатий, як правило, з’явиться вгорі списку. Іншим варіантом є переключення-вибір і приєднання до всіх них.

Це має ряд переваг IMO. По-перше, це не припиняє процес. По-друге, вікно браузера не закривається, коли ви припиняєте налагодження. Мене це розтріскує, коли я бачу, як розробник повторює 7 кроків, щоб перейти до відтворення помилки, коли все, що йому потрібно зробити, це натиснути F5 у існуюче вікно браузера, щоб просто перезавантажити, коли підключений налагоджувач. Нарешті, я маю це робити вже під час приєднання до нуніту, тому отримую більш послідовний досвід.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.