Ich habe bereits ein Fenster mit der Website geöffnet, die ich debuggen möchte. Ich brauche VS nicht, um jedes Mal einen neuen für mich zu starten, wenn ich debuggen muss.
Gibt es eine Möglichkeit, dieses Verhalten zu stoppen?
Öffnen Sie die Eigenschaften Ihres Startprojekts ( Project → {ProjectName} Properties ... aus dem Hauptmenü oder klicken Sie mit der rechten Maustaste auf Ihr Projekt im Solution Explorer und wählen Sie Properties , und navigieren Sie zum Web Tab und unter Aktion starten wählen Keine Seite öffnen. Warten auf eine Anfrage von einer externen Anwendung .
Sie können weiterhin mit jedem Browser (oder Fiddler, was auch immer) auf die laufende Anwendung zugreifen, das Browserfenster wird jedoch nicht automatisch geöffnet. Es wird nur im Hintergrund gestartet und wartet auf alle Anfragen.
Für VS 15.7.1 Tools
→ Options
→ Projects and Solutions
→ Web Projects
→ deaktivieren Sie Stop debugger when browser window is closed
.
In einem ASP.Net 5-Projekt kann dies jetzt für jedes Startprofil festgelegt werden.
Öffnen Sie die Datei launchsettings.json unter dem Ordner Startup-Projekteigenschaften und fügen Sie "launchBrowser": false
dem Profil hinzu, das Sie konfigurieren, z. B. in:
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": false,
"environmentVariables": {
"Hosting:Environment": "Development"
}
}
}
Sie können die Funktion An Prozess anhängen verwenden, anstatt zu drücken F5.
Auf diese Weise können Sie auch durch bekannte Arbeitsbereiche navigieren, ohne den darunter geladenen VS-Debugger zu verlangsamen.
Wenn Sie zum ersten Mal ein Web-/App-Projekt öffnen, führen Sie Folgendes aus: a Ctrl-F5Dies ist die Verknüpfung zum Starten der Anwendung ohne Debugging. Dann, wenn Sie anschließend treffen F5 Wenn Sie den Debugger starten, wird diese IE-Instanz verwendet. Beenden und starten Sie dann das Debuggen in Visual Studio, anstatt den IE zu schließen.
Es funktioniert auf meinen Maschinen. Ich benutze den eingebauten Dev-Webserver. Ich weiß nicht, ob das einen Unterschied macht.
Firefox bleibt auch geöffnet, sodass Sie in einem oder beiden gleichzeitig debuggen können.
Es scheint einen Fall zu geben, in dem keiner der oben genannten, aber der folgende hilft. Ich entwickle ein Projekt für die Windows Azure-Cloud-Plattform und habe eine Webrolle. Es gibt in der Tat ein Optionsfeld Seite nicht öffnen in Project -> {Projektname} Eigenschaften ..., wie Pawel Krakowiak darauf hingewiesen hat, aber es hat in meinem Fall keinerlei Auswirkung. Es gibt jedoch das Haupt-Cloud-Projekt im Lösungs-Explorer und darunter den Ordner Roles. Wenn ich in diesem Ordner mit der rechten Maustaste auf meine Webrolle klicke und Properties wähle, erhalte ich weitere Einstellungen. Auf der Registerkarte Configuration befindet sich das Launch-Browser-Flag für, nachdem das Kontrollkästchen deaktiviert wurde Das Browserfenster wird beim Start der Anwendung nicht geöffnet.
Da ich die erwähnte Option in meinem VS, nämlich Visual Studio Enterprise 2017, nicht hatte, musste ich nach einer anderen Option suchen.
Hier ist was ich gefunden habe:
Gehen Sie zu Extras -> Optionen -> Registerkarte Debuggen (Allgemein) und deaktivieren Sie "JavaScript-Debugging für Asp.Net aktivieren (Chrome und IE).
Die Antwort von Joao Costa gilt auch für .Net Core 2-Projekte.
launchsettings.json -> "launchBrowser": false
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": false,
"environmentVariables": {
"Hosting:Environment": "Development"
}
}
}
Ich habe die Antworten durchgesehen und die von mir erwähnte Lösung nicht gesehen. Wenn ja, entschuldige ich mich. In meinem Fall derzeit mit Visual Studio 2015. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektdatei und klicken Sie auf Eigenschaften. Gehen Sie zur Registerkarte "Debuggen". Dort sollten Informationen zum Starten von "IIS Express oder Web (DNX)" für die ersten beiden Dropdowns enthalten sein. Anschließend sollte ein Kontrollkästchen für "URL starten" angezeigt werden. Deaktivieren Sie diese Option, und Ihr Browser wird nicht jedes Mal automatisch gestartet, wenn Sie Ihre Anwendung debuggen. Hoffe, das hilft jemandem.
Obwohl es mehrere ausgezeichnete Antworten gibt, die von üblichen Verdächtigen zu neueren Lösungen reichen, möchte ich noch eine weitere Antwort auf die Frage stellen: Was sollten Sie tun, wenn Sie an einer Lösung mit mehreren Lösungen arbeiten Projekte.
Bevor ich zu dieser Lösung kam, habe ich in der applicationhost.config der Lösung ständig nach bindingInformation
gesucht und unermüdlich nach Hinweisen gesucht, warum die Dinge einfach nicht funktionieren.
Es stellte sich heraus, dass das simple -Sache, das ich übersehen habe, war, dass verschiedene Projekte auch individuelle Einstellungen haben.
Neben
Project > {Project-Name} Properties... > Web > Start Action
in meinem Backend-Projekt musste ich auchWebsite > Start Options... > Start Action
in meinem Frontend-Projekt aufrufen. Dort angekommen, habe ichDon't open a page. Wait for a request from an external application
ausgewählt und bin seitdem glücklich!
CTRL+ALT+ENTER wenn Ihre Änderungen nur Front-End sind
Sie können mit der rechten Maustaste auf Ihr Projekt klicken und dann Properties
auswählen. Auf der Registerkarte Debug
sollten Sie das Kontrollkästchen launch browser
deaktivieren.