IIS Express Sofortiges Herunterfahren der laufenden Site nach dem Stoppen der Webanwendung

173

Ich verwende Visual Studio 2012 in den ersten Tagen, in denen ich die Anwendung in IDE stoppen möchte. Die Anwendung wurde noch auf IIS Express ausgeführt. Ich konnte die laufende Anwendung durchsuchen und damit arbeiten, aber jetzt kann ich nicht mehr. IIS Beenden Sie die Anwendung sofort, wenn ich die Stopp-Taste drücke. Seit ich mich erinnere, habe ich keine Änderungen an der Einstellung vorgenommen. Wie soll ich das genauso machen wie in den ersten Tagen?

Säbel
quelle
1
Versuchen Sie "Ansicht im Browser" anstelle von "Wiedergabe". Haben Sie den Standardbrowser geändert? IE wird beim Stopp automatisch heruntergefahren, Chrome nicht.
Emanuele Greco
Nein, ich verwende FF, aber manchmal muss ich die Anwendung debuggen.
Säbel
Ich denke, das hängt mit IIS Express zusammen.
Säbel
1
Anstatt auf die Schaltfläche "Stopp" zu klicken, können Sie auch "Alle trennen" im Menü "Debuggen" verwenden.
Jessehouwing
1
Der Debugger wurde von den zu debuggenden Prozessen getrennt, die laufenden Prozesse werden jedoch nicht beendet.
Jessehouwing

Antworten:

344

Ich hatte kürzlich eine ähnliche Situation, als mein IIS Express plötzlich gestoppt wurde, nachdem ich mit dem Debuggen aufgehört hatte. Dies geschah, nachdem ich "Bearbeiten und Fortfahren aktivieren" aktiviert hatte . Wenn Sie dies deaktivieren, werden Sie feststellen, dass IIS Express auch nach Beendigung des Debuggens weiterhin ausgeführt wird.

Klicken Sie mit der rechten Maustaste auf Ihr Projekt> klicken Sie auf Eigenschaften> wählen Sie links die Registerkarte 'Web'> deaktivieren Sie das Enable Edit and ContinueKontrollkästchen.

Abhi
quelle
3
Ich kann bestätigen, dass dies das Problem für mich behoben hat.
Maxime Rouiller
51
Das funktioniert !! Klicken Sie mit der rechten Maustaste auf Ihr Projekt, klicken Sie auf Eigenschaften, wählen Sie links die Registerkarte "Web" aus und deaktivieren Sie das Kontrollkästchen "Bearbeiten und Fortfahren aktivieren".
nv.snow
6
Es klappt. Öffnen Sie in Visual Studio 2013 "Extras-> Optionen", wählen Sie in der Baumstruktur "Debuggen-> Bearbeiten und Fortfahren" aus und deaktivieren Sie das Kontrollkästchen "Bearbeiten und Fortfahren aktivieren".
Renzo Ciot
3
Weitere Informationen zu dieser Funktion finden Sie hier: blogs.msdn.com/b/webdev/archive/2013/07/11/…
gor
5
Nein, dies ist eine schlechte Lösung - siehe die richtige Lösung, die von @jessehouwing unten veröffentlicht wurde.
Josh M.
85

In VS2010 und VS2012 ist die Option zum Bearbeiten und Fortfahren beim Erstellen eines neuen Webanwendungsprojekts standardmäßig deaktiviert. In VS2013 ist es standardmäßig aktiviert.

Sie finden diese Option auf der Registerkarte Web im Eigenschaftenfenster des Webprojekts.

Option vs2013 bearbeiten und fortsetzen

Wenn "Bearbeiten und Fortfahren aktivieren" aktiviert ist, startet der VS-Debugger Ihre Webanwendung in IIS Express. Wenn Sie das Debuggen beenden, wird auch IIS Express geschlossen. Bei diesem Verhalten wird die Taskleiste des IIS Express während des Debuggens angezeigt und nach dem Debuggen gelöscht. Dieses Verhalten ist dasselbe wie in VS2012, wenn die Option Bearbeiten und Fortfahren aktivieren aktiviert ist.

Wenn Sie während der Entwicklung keine Funktion zum Bearbeiten und Fortfahren benötigen und möchten, dass IIS Express nach einer Debugging-Sitzung erhalten bleibt, können Sie einfach die Option Bearbeiten und Fortfahren aktivieren deaktivieren .

Ich f Sie „Bearbeiten und Fortfahren“ verwenden möchten oder Sie entwickeln eine Asp.net 5 Website (ASP.NET 5 Projekte haben keine Bearbeiten und Fortfahren Checkbox in Projekteigenschaften) Sie den „Detech alle“ Befehl verwenden um das Debuggen zu beenden.

Der Debugger löst sich vom iis-Prozess, ohne ihn zu schließen.

Die Funktion "Bearbeiten und fortfahren" funktioniert eindeutig erst, wenn Sie erneut mit dem Debuggen beginnen.

Geben Sie hier die Bildbeschreibung ein

Giammin
quelle
Ein Bild
sagt mehr
64

Anstatt die (X) STOPTaste zu drücken, können Sie die verwendenDetach all Menüpunkt im Debug-Menü verwenden. Der Hauptunterschied besteht darin, dass die Stopp-Schaltfläche jeden Prozess beendet, der gerade debuggt wird, während Alle trennen den Debugger von den Prozessen trennt, sie jedoch nicht beendet.

Der normale IIS-Arbeitsprozess wird ebenfalls beendet. Da er jedoch früher als Dienst ausgeführt wurde, wird er auch automatisch neu gestartet, sodass Sie ihn weiterhin verwenden können, ohne den Prozess über |> Debugoder neu starten zu müssen |> Start without debugging.

Screenshot als Referenz

Hinzufügen der Schaltfläche "Bearbeiten und Fortfahren" zur Debugging-Symbolleiste.

jessehouwing
quelle
3
Dies ist tatsächlich näher an der eigentlichen Antwort. Die Option 'BEARBEITEN UND WEITER' ist eine Funktion. Das Anhängen und Trennen des Debugging-Tracers an einen Abhörprozess ist das unterstrichene Konzept der Diskussion hier und ob das Klicken auf Stopp diesen Abhörprozess beendet oder einfach löst sich davon .. was Sie natürlich auch wieder anbringen können.
Brett Caswell
@jcmcbeth es funktioniert tatsächlich für IIS Express. Ich konnte unmöglich sehen, dass es nicht funktioniert. IIS Express-Prozesse sind genau das, ihre eigenen separaten Prozesse. Ihr VS-Debugger startet den Prozess und hängt ihn an. Dieser Prozess hängt jedoch nicht mehr von Ihrem angehängten Debugger ab, als dass Ihre Anwendung oder Ihr Webserver einen Besucher / Benutzeragenten / Client benötigt, um in proc ausgeführt zu werden
Brett Caswell
1
@jcmcbeth, das ist eine seltsame Aussage auf einer Q & A-Site, wenn Sie über Funktionsunterstützung und Einstellungen sprechen. Dies ist kein Take It oder Leave It Scenerio; Sie haben angegeben, dass es mit IIS Express anscheinend nicht funktioniert. Es tut.
Brett Caswell
1
Das Kontrollkästchen "Bearbeiten und Fortfahren aktivieren" ist in VS 2015 RC für ASP.NET 5-Projekten nicht vorhanden. Wenn Sie IIS Express mit diesen Projekten verwenden möchten, ist dies der richtige Weg.
Tomek
7
Dies ist die Antwort darauf, wie VS 2015 Update 2 das IIS-Verhalten durch Entfernen von Bearbeiten und Fortfahren von der Registerkarte Projektweb geändert hat.
Robharrisaz
32

Es scheint, dass die akzeptierte Lösung seit der Veröffentlichung von Visual Studio 2015 Update 2 nicht mehr funktioniert.

Die einfachste Lösung, die ich bisher gefunden habe, besteht darin, das Projekt durch Auswahl von " Start ohne Debugging " aus dem Debug- Menü zu starten .

tocqueville
quelle
1
Klingt so, als würden Sie über VS2015 sprechen.
Chad Carisch
Verdammt, ich bin gerade auf dieses Problem gestoßen und habe eine Frage dazu gestellt. Gibt es eine bekannte Problemumgehung, um dieses Problem zu lösen - außer dass Sie Ihre Verknüpfungen erneut an Start ohne Debuggen und Trennen anstatt an Stopp binden?
Nikib3ro
1
Sie sagen, dass sie es im nächsten Update beheben. In der Zwischenzeit können Sie auch Strg + F5 drücken, um die Site ohne Debugging zu starten: connect.microsoft.com/VisualStudio/feedback/details/2562576/…
Mattmanser
4

Dies wird wahrscheinlich am besten als eine andere Problemumgehung eingestuft, aber es funktioniert für mich.

Normalerweise starte ich das Projekt zum ersten Mal mit dem Kontextmenü "Im Browser anzeigen" (oder STRG-Umschalt-W).

Von da an füge ich alles, was zum Debuggen erforderlich ist, normalerweise dem neuen vorhandenen iisexpress-Prozess bei. Während das Bewegen durch Kontextmenüs dies zu einem Nichtstarter machen würde, ist es mit den folgenden Tastenanschlägen fast so schnell wie F5:

  • Umschalt-F6, um das aktuelle Projekt zu erstellen, oder Strg-Umschalt-B, um die gesamte Lösung zu erstellen (dies ist nur erforderlich, wenn Sie Änderungen vorgenommen haben, aber ich dachte, ich sollte es erwähnen, da F5 dies bereits tut).
  • Strg-Alt-P öffnet den Dialog An Prozess anhängen

  • Wenn Sie "iis" eingeben, gelangen Sie zum iisexpress-Prozess

  • Drücken Sie die Eingabetaste und Sie sind verbunden

Wenn mehr als ein iisexpress ausgeführt wird, wird der zuletzt gestartete im Allgemeinen oben in der Liste angezeigt. Eine andere Möglichkeit besteht darin, die Auswahl zu verschieben und an alle anzuhängen.

Dies hat eine Reihe von Vorteilen IMO. In erster Linie wird der Prozess nicht beendet. Zweitens wird das Browserfenster nicht geschlossen, wenn Sie das Debuggen beenden. Es macht mich wahnsinnig, wenn ein Entwickler 7 Schritte wiederholt, um einen Fehler zu reproduzieren. Wenn er nur F5 in einem vorhandenen Browserfenster drücken muss, um ihn erneut zu veröffentlichen, sobald der Debugger verbunden ist. Zuletzt muss ich dies bereits tun, wenn ich mich an nunit anschließe, damit ich eine konsistentere Erfahrung bekomme.

b_levitt
quelle