So deaktivieren Sie das neue Debug-Fenster in VS2017

175

Ich verwende Visual Studio 2017 RC und bin sehr frustriert über das neue Chrome-Fenster, das angezeigt wird, wenn Sie auf Debuggen klicken.

Probleme mit dem Debug-Chrome-Fenster:

  • Das Starten / "Anhängen" der Website dauert ewig (ich denke, es hängt das gesamte Javascript-Debugging an, das ich nicht benötige, da ich dafür sowieso Chrome DevTools verwende).
  • Nicht andockbar (als Registerkarte) mit anderen Chrome-Fenstern
  • Erinnert sich nicht an die Formgeschichte. Wenn ich Formulare teste, kann ich Formulardaten nicht automatisch vervollständigen, daher muss ich jedes Mal das ganze Los eingeben
  • Erinnert sich nicht an den URL-Verlauf. Wenn ich eine bestimmte Seite auf meiner Website teste, kann ich die URL nicht schnell aus der Dropdown-Liste der Chrome-URL-Leiste auswählen. Müssen die URL vollständig eingeben
  • Erweiterungen sind nicht aktiviert, daher kann ich meine Lineal- oder Farbwählererweiterungen nicht verwenden
  • Das Chrome-Fenster wird geschlossen, wenn das Debuggen beendet wird. Daher muss ich ein neues Fenster öffnen, um weiterhin auf der lokalen Website zu surfen

Weiß jemand, wie man dieses neue Fenster im Debug-Stil deaktiviert und zu VS 2015 zurückkehrt?

mejobloggs
quelle
8
Optionen -> Projekt und Lösungen -> Webprojekte. Deaktivieren Sie "Debugger stoppen, wenn das Browserfenster geschlossen wird". Dadurch wird ständig kein neues Fenster mehr geöffnet.
t00thy

Antworten:

46

Dies ist kein Problem, sondern eine neue Funktion in VS 2017. Bisher konnten wir JS und TypeScript nur mit IE im Debug-Modus (von VS) debuggen. Jetzt haben sie das Debuggen von JS und TS in VS mithilfe der Remote-Debugging-Funktion von Chrome eingeführt. Wenn Sie Ihre Anwendung im Debug-Modus ausführen (F5 drücken) und Chrome als Browser ausgewählt ist, versucht Visual Studio 2017, eine Remote-Debugging-Sitzung mit Chrome an einem dedizierten Port zu öffnen. Mit Remote-Debugging,

  1. Der Browser wird im einfachen Modus gestartet, dh ohne Erweiterung und ohne Verlauf usw. Remote-Debuggin funktioniert nicht mit einer vorhandenen Instanz von Chrome, die bereits ausgeführt wird.

  2. Sie sehen dieses Fenster immer für eine Weile. Zu diesem Zeitpunkt versucht VS, den Remote-Debugger an VS anzuschließen

Geben Sie hier die Bildbeschreibung ein

  1. Ändern Sie das Debugging-Ziel von Chrome in IIS Express, um zu den Erfahrungen mit dem Debuggen in VS 2015 zurückzukehren.

Dieser Beitrag beschreibt diese Funktion im Detail. https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Eine schnelle Lösung besteht darin, F5 zu drücken, die Debug-Sitzung zu starten und das neu geöffnete Chrome-Fenster zu vergessen. Gehen Sie zu Ihrer normalen Chrome-Instanz und öffnen Sie Ihre Website einfach in einem neuen Tab. Sie können weiterhin debuggen und alles tun, da IIS Express Ihre App weiterhin an diesem Port ausführt.

Update: Die Antwort von @Steveadoo ist der richtige Weg für die Zukunft. Die in seinem Screenshot gezeigte Option steuert, wie Chrome zum Debuggen gestartet wird. Deaktivieren Sie diese Option, wenn Sie sich an Ihre reguläre Chrome-Instanz halten möchten.

Hoffe das hilft.

Usman
quelle
Vielen Dank! Ich habe mein Debugging-Ziel auf IIS Express festgelegt, aber jetzt, nachdem ich auf Debuggen oder Veröffentlichen geklickt habe, wird nicht mehr automatisch ein Browser geöffnet und die URL aufgerufen (wie dies bei VS2015 der Fall war). In Ihrem Link heißt es: "In Visual Studio wird es eine Einstellung geben, mit der Sie das clientseitige Debuggen sowohl im IE als auch in Chrome deaktivieren können. Leider wurde dies nicht in den Release Candidate aufgenommen." Ich hoffe wirklich, dass das hinzugefügt wird, ich habe es sehr vorgezogen, wie 2015 die Dinge gemacht haben :)
mejobloggs
Sie sollten auch in der Lage sein, ohne Debuggen zu starten, indem Sie Strg + F5 anstelle von nur F5 drücken. Um dieses Problem zu beheben: "Das Chrome-Fenster wird geschlossen, wenn das Debuggen beendet wird, sodass ich ein neues Fenster öffnen muss, um die lokale Site weiter zu durchsuchen" - trennen Sie sich einfach vom Debug-Ziel, anstatt das Debuggen zu beenden (Debug -> Alle trennen).
Michael Braude
Wir verwenden die Option "Lokaler IIS" auf unseren Websites, und in dieser Dropdown-Liste wird die Option "IIS Express" nicht angezeigt. Wenn ich versuche, eine Verbindung zu Chrome Unable to start program "http://mywebsite.com". system cannot find file specified
herzustellen, wird das
14
Eine einfache Antwort wäre nützlicher für eine solche Frage
AngJobs auf Github
2
Stimmen Sie dafür ab. Die richtige Antwort sollte Optionen -> Projekt und Lösungen -> Webprojekte sein. Deaktivieren Sie "Debugger stoppen, wenn das Browserfenster geschlossen wird". Dadurch wird ständig kein neues Fenster mehr geöffnet.
t00thy
356

Ich bin nicht sicher, ob dies mit dem neuesten VS 2017-Update geliefert wurde, aber in Debug -> Optionen können Sie es jetzt deaktivieren.

Deaktivieren Sie einfach das hervorgehobene: Geben Sie hier die Bildbeschreibung ein

Steveadoo
quelle
3
Danke für die Lösung. Das obige Problem in VS 2017 führt dazu, dass mein System nicht mehr reagiert. Hoffe, es hilft dem Fall, wird versuchen, zu aktualisieren
Satyajit
Ja. Es kommt mit VS2017, aber danke für die Rettung des Lebens!
Zahid Mustafa
Danke dir!! Ich habe vergessen, wie viel einfacher das Debuggen war, bevor diese "Funktion" hinzugefügt wurde.
Andrew
5
Ich habe gerade 15.7 - das funktioniert jetzt nicht für mich - das Starten im c # -Debugger wird immer noch in einem neuen Fenster geöffnet.
Niico
9
Für diejenigen, bei denen das Problem in 15.7 aufgetreten ist, finden Sie die Lösung unter stackoverflow.com/a/50268873/2497 .
Daniel Gimenez
86

Für diejenigen, die das 15.7-Update haben und das Deaktivieren der JavaScript-Optionen nicht ausreichen, wurde hier eine Lösung gefunden:

https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

Deaktivieren Sie unter Extras> Optionen> Projekte und Lösungen> Webprojekte das Kontrollkästchen "Debugger beenden, wenn das Browserfenster geschlossen wird".

Katja Braz
quelle
Danke dafür! Ich bin überrascht, dass VS2017 ~ 3 Kontrollkästchen hat, um diese Funktion ein- und auszuschalten. Ich bin sicher, dass es einen subtilen Unterschied zwischen allen gibt.
James Haug
8

Geben Sie hier die Bildbeschreibung einKlicken Sie im VS-Menü auf:

Extras> Optionen> Nach "Browserprojekten" suchen> Deaktivieren Sie die letzte Option "Debugger beenden, wenn das Browserfenster geschlossen wird.

das wird den Job machen.

Ali Jamal
quelle
3

Debug> Optionen> Debugging> Allgemein> (Deaktivieren) Aktivieren Sie das JavaScript-Debugging für ASP.Net (Chrome und IE).

Deaktivieren Sie unter Extras> Optionen> Projekte und Lösungen> Webprojekte das Kontrollkästchen "Debugger beenden, wenn das Browserfenster geschlossen wird".

funktioniert für mich, Visual Studio Professional 2017, v 15.7.3

Avner Pinheiro
quelle
2

Ich verwende Visual Studio 2017 und was für mich funktioniert hat, ist eine Kombination dieser beiden Optionen:

  1. Deaktivieren Sie das JavaScript-Debugging unter Debug -> Optionen -> Debugging -> Allgemein. Aktivieren Sie das JavaScript-Debugging für ASP.Net.
  2. Deaktivieren Sie das Debuggen beenden, wenn der Browser geschlossen ist. Debuggen -> Optionen -> Projekte und Lösungen -> Webprojekte -> Debugger stoppen, wenn das Browserfenster geschlossen ist. Schließen Sie den Browser, wenn das Debuggen beendet wird.

Als ich nur eines dieser beiden benutzte, funktionierte es nicht.

Mykhailo Seniutovych
quelle
2

wenn Sie auf JavaScript- Fall schauen

Das Aktivieren und Deaktivieren des JavaScript-Debuggens in VisualStudio ist in allen Versionen gleich

  • Menü Extras
  • Optionen...
  • Debugging -> Allgemein
  • Deaktivieren Sie "JavaScript-Debugging für ASP.NET aktivieren".
Hamit YILDIRIM
quelle
-1

In Visual Studio 2017:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie erneut aufgefordert werden, den JS-Debugger wieder einzuschalten, wählen Sie eine andere Option (Sie werden weiterhin aufgefordert, Haltepunkte in Ihrem Skriptcode zu haben):

Deaktivieren Sie den Skript-Debugger

Summe keine
quelle