Remotedebuggen von ASP.NET Core auf einem IIS-Remotecomputer in Visual Studio
Zum Debuggen einer ASP.NET Core-Anwendung, die in den Internetinformationsdiensten (Internet Information Services, IIS) bereitgestellt wurde, müssen Sie die Remotetools auf dem Computer installieren und ausführen, auf dem Sie die App bereitgestellt haben, und diese anschließend über Visual Studio an Ihre laufende App anfügen.
In diesem Leitfaden wird erläutert, wie Sie eine Visual Studio-ASP.NET Core-App einrichten, konfigurieren, in den IIS bereitstellen und diese über Visual Studio an den Remotedebugger anfügen. Informationen zum Remotedebuggen von ASP.NET 4.8 finden Sie unter Remotedebuggen von ASP.NET auf einem Remotecomputer mit den IIS. Sie können auch mithilfe von Azure Apps in den IIS bereitstellen und debuggen. Informationen zu Azure App Service finden Sie unter Remotedebuggen von ASP.NET Core in Azure, oder verwenden Sie für Visual Studio Enterprise den Momentaufnahmedebugger (.NET 4.6.1 erforderlich).
Voraussetzungen
Sie benötigen Visual Studio 2019 oder höher, um die in diesem Artikel beschriebene Anleitung auszuführen.
Diese Verfahren wurden für die folgenden Serverkonfigurationen getestet:
- Windows Server 2022 und IIS 10
- Windows Server 2019 und IIS 10
- Windows Server 2016 und IIS 10
Netzwerkanforderungen
Das Debuggen zwischen zwei über einen Proxy verbundenen Computern wird nicht unterstützt. Das Debuggen über eine Verbindung mit hoher Latenz oder niedriger Bandbreite, z. B. eine DFÜ-Internetverbindung oder eine länder-/regionsübergreifende Internetverbindung, wird nicht empfohlen. Der Vorgang kann fehlschlagen oder extrem langsam ausgeführt werden. Eine vollständige Liste der Anforderungen finden Sie unter Anforderungen.
In den IIS ausgeführte Apps
Dieser Artikel enthält Schritte zum Einrichten einer Basiskonfiguration von IIS unter Windows Server und zum Bereitstellen der App aus Visual Studio. Damit soll sichergestellt, dass auf dem Server die erforderlichen Komponenten installiert sind, die App ordnungsgemäß ausgeführt werden kann und Sie bereit sind, das Remotedebuggen zu beginnen.
Wenn Ihre App in IIS ausgeführt wird und Sie nur den Remotedebugger herunterladen und mit dem Debuggen starten möchten, navigieren Sie zu Herunterladen und Installieren der Remotetools unter Windows Server.
Wenn Sie sicherstellen möchten, dass Ihre App in den IIS ordnungsgemäß eingerichtet, bereitgestellt und ausgeführt wird, damit Sie mit dem Debuggen beginnen können, befolgen Sie die Anleitung in diesem Thema.
Erstellen der ASP.NET Core-Anwendung auf dem Visual Studio-Computer
Erstellen Sie eine neue ASP.NET Core-Webanwendung.
Wählen Sie in Visual Studio Datei>Startfenster aus, um das Startfenster zu öffnen, und wählen Sie dann Neues Projekt erstellen aus. Geben Sie im Suchfeld Web-App ein, wählen Sie als Sprache C# und anschließend ASP.NET Core-Webanwendung (Model View Controller) aus, und wählen Sie dann Weiter aus. Geben Sie dem Projekt im nächsten Bildschirm den Namen MyASPApp, und klicken Sie dann auf Weiter.
Wählen Sie entweder das empfohlene Zielframework oder .NET 8 aus, und wählen Sie Erstellen aus. Die Version muss der auf dem Server installierten Version entsprechen.
Öffnen Sie die Datei HomeController.cs im Ordner „Controller“, und legen Sie einen Breakpoint in der
return View;
-Anweisung derPrivacy
-Methode fest.Öffnen Sie in älteren Vorlagen die Datei Privacy.cshtml.cs, und legen Sie einen Breakpoint in der
OnGet
-Methode fest.
Installieren und Konfigurieren der IIS unter Windows Server
Diese Schritte zeigen nur eine Basiskonfiguration von IIS. Ausführlichere Informationen oder eine Anleitung für die Installation auf einem Windows-Desktopcomputer finden Sie unter Veröffentlichen in IIS oder IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 (IIS 8.0 mithilfe von ASP.NET 3.5 und ASP.NET 4.5, in englischer Sprache).
Verwenden Sie für Windows Server-Betriebssysteme den Assistenten Rollen und Features hinzufügen über den Link Verwalten oder den Link Dashboard im Server-Manager. Aktivieren Sie im Schritt Serverrollen das Kontrollkästchen für Webserver (IIS) .
(Windows Server 2022) Wählen Sie im angezeigten Dialogfeld Features hinzufügen aus, um die IIS-Verwaltungskonsole hinzuzufügen.
Wählen Sie im Schritt Rollendienste die gewünschten IIS-Rollendienste aus, oder übernehmen Sie die angegebenen Standardrollendienste. Wenn Sie die Bereitstellung mithilfe von Veröffentlichungseinstellungen und Web Deploy aktivieren möchten, stellen Sie sicher, dass die folgenden Features ausgewählt sind:
- IIS-Verwaltungsskripts und -tools
- Management Service
- IIS-Verwaltungskonsole
Führen Sie die Bestätigungsschritte durch, um die Webserverrolle und die Dienste zu installieren. Ein Server-/IIS-Neustart ist nach der Installation der Rolle „Webserver (IIS)“ nicht erforderlich.
Aktualisieren der Sicherheitseinstellungen des Browsers unter Windows Server
Wenn Sie eine ältere Version von Windows Server verwenden, müssen Sie möglicherweise einige Domänen als vertrauenswürdige Sites hinzufügen, damit Sie einige der Webserverkomponenten herunterladen können. Fügen Sie die vertrauenswürdigen Sites hinzu, indem Sie zu Internetoptionen > Sicherheit > vertrauenswürdige Sites > Sites navigieren. Fügen Sie die folgenden Domänen hinzu.
- microsoft.com
- go.microsoft.com
- 0download.microsoft.com
- iis.net
Wenn Sie die Software herunterladen, erhalten Sie möglicherweise Anforderungen zum Erteilen der Berechtigung zum Laden verschiedener Websiteskripts und -ressourcen. Einige dieser Ressourcen sind nicht erforderlich, aber um den Vorgang zu vereinfachen, wählen Sie einfach Hinzufügen aus, wenn Sie dazu aufgefordert werden.
Installieren von ASP.NET Core unter Windows Server
Installieren Sie das Paket „.NET Core Hosting“ auf dem Hostingsystem. Das Paket installiert die .NET Core-Runtime, die .NET Core-Bibliothek und das ASP.NET Core-Modul. Ausführlichere Informationen finden Sie unter IIS-Konfiguration.
Installieren Sie für das aktuelle .NET Core-Hostingpaket das ASP.NET Core-Hostingpaket.
Hinweis
Wenn Sie IIS zuvor installiert haben, wird das IIS-Modul von ASP.NET Core zusammen mit ASP.NET Core installiert. Installieren Sie andernfalls das IIS-Modul von ASP.NET Core manuell.
Installieren Sie für .NET Core 2 das Paket .NET Core Windows Server Hosting.
Hinweis
Wenn das System nicht über eine Internetverbindung verfügt, beziehen und installieren Sie Microsoft Visual C++ 2015 Redistributable , bevor Sie das Paket „.NET Core Windows Server Hosting“ installieren.
Starten Sie das System neu, oder führen Sie über eine Eingabeaufforderung net stop was /y gefolgt von net start w3svc aus, um eine Änderung am Systempfad zu übernehmen.
Auswählen einer Bereitstellungsoption
Wenn Sie Hilfe bei der Bereitstellung der App in IIS benötigen, ziehen Sie die folgenden Optionen in Betracht:
Führen Sie die Bereitstellung aus, indem Sie eine Datei mit Veröffentlichungseinstellungen in IIS erstellen und die Einstellungen in Visual Studio importieren. In einigen Szenarien ist dies eine schnelle Möglichkeit, Ihre App bereitzustellen. Wenn Sie die Datei mit den Veröffentlichungseinstellungen erstellen, werden Berechtigungen in IIS automatisch eingerichtet.
Führen Sie die Bereitstellung durch Veröffentlichen in einem lokalen Ordner und Kopieren der Ausgabe durch eine bevorzugte Methode in einen vorbereiteten App-Ordner in IIS aus.
(Optional) Bereitstellung mithilfe einer Datei mit Veröffentlichungseinstellungen
Sie können diese Option verwenden, um eine Datei mit Veröffentlichungseinstellungen zu erstellen und in Visual Studio zu importieren.
Hinweis
Wenn Sie Web Deploy manuell konfigurieren möchten, anstatt die Veröffentlichungseinstellungen zu importieren, müssen Sie sicherstellen, dass ein App-Ordner auf dem Server mit den richtigen Werten und Berechtigungen konfiguriert ist (siehe Konfigurieren der ASP.NET-Website).
Konfigurieren einer ASP.NET Core-Website
Wählen Sie in IIS-Manager im linken Bereich unter Verbindungen die Option Anwendungspools aus. Öffnen Sie DefaultAppPool, und legen Sie die .NET CLR-Version auf Kein verwalteter Code fest. Dies ist für ASP.NET Core erforderlich. Die Standardwebsite verwendet DefaultAppPool.
Beenden Sie DefaultAppPool, und starten Sie ihn dann neu.
Installieren und Konfigurieren von Web Deploy unter Windows Server
Web Deploy umfasst zusätzliche Konfigurationsfeatures für die Erstellung der Datei mit Veröffentlichungseinstellungen über die Benutzeroberfläche.
Hinweis
Der Webplattform-Installer hat am 01.07.2022 das Ende der Lebensdauer erreicht. Weitere Informationen finden Sie unter Web Platform Installer – End of support and sunsetting the product/application feed. Sie können Web Deploy 4.0 direkt installieren, um die Datei mit den Veröffentlichungseinstellungen zu erstellen.
Installieren Sie, falls noch nicht geschehen, die Verwaltungsskripts und -tools für IIS.
Navigieren Sie zu Serverrollen auswählen>Web Server (IIS)>Verwaltungstools, wählen Sie die Rolle IIS Management Scripts and Tools (Verwaltungsskripts und -tools für IIS) aus, klicken Sie auf Weiter, und installieren Sie die Rolle.
Sie müssen die Skripts und Tools installieren, damit die Datei mit Veröffentlichungseinstellungen erstellt werden kann.
Installieren Sie auch den Verwaltungsdienst und die IIS-Verwaltungskonsole (falls sie nicht bereits installiert sind).
Laden Sie Web Deploy 4.0 auf Windows Server herunter.
Führen Sie das Web Deploy-Installationsprogramm aus, und achten Sie darauf, den Installationstyp Vollständig anstelle der Standardinstallation auszuwählen.
Bei einer vollständigen Installation erhalten Sie die Komponenten, die Sie zum Generieren einer Datei mit Veröffentlichungseinstellungen benötigen. (Wenn Sie stattdessen Benutzerdefiniert auswählen, wird die Liste der Komponenten angezeigt, wie in der folgenden Abbildung dargestellt.)
(Optional) Überprüfen Sie, ob Web Deploy ordnungsgemäß ausgeführt wird, indem Sie Einstellungen > System und Sicherheit > Verwaltung > Dienste öffnen und sich vergewissern, dass der:
Webbereitstellungs-Agent-Dienst ausgeführt wird (in älteren Versionen lautet der Dienstname anders).
Webverwaltungsdienst ausgeführt wird.
Wenn einer der Agent-Dienste nicht läuft, starten Sie den Webbereitstellungs-Agent-Dienst neu.
Wenn der Webbereitstellungs-Agent-Dienst gar nicht vorhanden ist, navigieren Sie zu Einstellungen > Programm > Programm deinstallieren, und suchen Sie die Microsoft Web Deploy-<Version>. Ändern Sie die Installation, und vergewissern Sie sich, dass Sie für die Web Deploy-Komponenten Will be installed to the local hard drive (Wird auf der lokalen Festplatte installiert) auswählen. Führen Sie die Schritte zur Änderung der Installation durch.
Erstellen der Veröffentlichungseinstellungsdatei in IIS unter Windows Server
Schließen Sie die IIS-Verwaltungskonsole, und öffnen Sie sie anschließend erneut. Dann werden die aktualisierten Konfigurationsoptionen auf der Benutzeroberfläche angezeigt.
Klicken Sie in IIS erst mit der rechten Maustaste auf Standardwebsite und anschließend mit der linken auf Bereitstellen>Configure Web Deploy Publishing (Web Deploy-Veröffentlichung konfigurieren).
Wenn das Menü Bereitstellen nicht angezeigt wird, lesen Sie den vorherigen Abschnitt, um zu überprüfen, ob Web Deploy ausgeführt wird.
Überprüfen Sie die Einstellungen im Dialogfeld Configure Web Deploy Publishing (Web Deploy-Veröffentlichung konfigurieren).
Klicken Sie auf Einrichten.
Im Bereich Ergebnisse sehen Sie, dass dem angegebenen Benutzer Zugriffsrechte gewährt wurden und eine Datei mit der Erweiterung .publishsettings erstellt und an dem im Dialogfeld angegebenen Ort gespeichert wurde.
<?xml version="1.0" encoding="utf-8"?> <publishData> <publishProfile publishUrl="https://myhostname:8172/msdeploy.axd" msdeploySite="Default Web Site" destinationAppUrl="http://myhostname:80/" profileName="Default Settings" publishMethod="MSDeploy" userName="myhostname\myusername" /> </publishData>
Je nach Windows Server- und IIS-Konfiguration werden in der XML-Datei unterschiedliche Werte angezeigt. Nachfolgend erhalten Sie Informationen zu den angezeigten Werten:
Bei der msdeploy.axd-Datei, auf die im
publishUrl
-Attribut verwiesen wird, handelt es sich um eine HTTP-Handlerdatei für Web Deploy. (Zu Testzwecken können Sie auchhttp://myhostname:8172
verwenden.)Der
publishUrl
-Port ist auf Port 8172 festgelegt. Dabei handelt es sich um die Standardeinstellung für Web Deploy.Der
destinationAppUrl
-Port ist auf Port 80 festgelegt. Dabei handelt es sich um die Standardeinstellung für IIS.Wenn Sie über den Hostnamen (wie später beschrieben) keine Verbindung mit dem Remotehost in Visual Studio herstellen können, verwenden Sie stattdessen die IP-Adresse.
Hinweis
Wenn Sie etwas in IIS auf einem virtuellen Azure-Computer veröffentlichen möchten, müssen Sie einen eingehenden Port für Web Deploy und IIS in der Netzwerksicherheitsgruppe öffnen. Ausführliche Informationen finden Sie unter Öffnen von Ports zu einem virtuellen Computer.
Kopieren Sie diese Datei auf den Computer, auf dem Visual Studio ausgeführt wird.
Importieren und Bereitstellen der Veröffentlichungseinstellungen in Visual Studio
Klicken Sie auf dem Computer, auf dem das ASP.NET-Projekt in Visual Studio geöffnet ist, erst mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und anschließend mit der linken auf Veröffentlichen.
Wenn Sie bereits Veröffentlichungsprofile konfiguriert haben, wird der Bereich Veröffentlichen angezeigt. Klicken Sie auf Neu oder auf Neues Profil erstellen.
Wählen Sie die Option zum Importieren eines Profils aus.
Klicken Sie im Dialogfeld Veröffentlichen auf Profil importieren.
Navigieren Sie zum Speicherort der Datei mit Veröffentlichungseinstellungen, die Sie bereits erstellt haben.
Navigieren Sie im Dialogfeld Datei mit Veröffentlichungseinstellungen importieren zu dem Profil, das Sie im vorherigen Abschnitt erstellt haben, wählen Sie es aus, und klicken Sie dann auf Öffnen.
Klicken Sie zum Speichern des Veröffentlichungsprofils auf Fertig stellen und dann auf Veröffentlichen.
Dann beginnt Visual Studio mit dem Bereitstellungsprozess, und im Ausgabefenster werden der Fortschritt und die Ergebnisse angezeigt.
Falls Sie Fehlermeldungen zur Bereitstellung erhalten, klicken Sie auf Weitere Aktionen>Bearbeiten, um die Einstellungen zu bearbeiten. Ändern Sie die Einstellungen, und klicken Sie auf Überprüfen, um die neuen Einstellungen zu testen. Wenn der Hostname nicht gefunden wird, geben Sie stattdessen die IP-Adresse in die beiden Felder Server und Ziel-URL ein.
Nachdem die App erfolgreich bereitgestellt wurde, sollte sie automatisch gestartet werden.
- Wenn die App nach der Bereitstellung nicht gestartet wird, starten Sie die App in IIS, um zu bestätigen, dass sie ordnungsgemäß ausgeführt wird.
- Stellen Sie für ASP.NET Core sicher, dass das Feld „Anwendungspool“ für DefaultAppPool auf Kein verwalteter Code festgelegt ist.
Wenn Sie fertig sind, wechseln Sie zu einer Debugkonfiguration.
Wichtig
Wenn Sie eine Releasekonfiguration debuggen möchten, deaktivieren Sie beim Veröffentlichen das Debuggen in der Datei web.config.
- Wählen Sie Weitere Optionen>bearbeiten aus, um das Profil zu bearbeiten, und wählen Sie dann Einstellungen aus.
- Klicken Sie auf Speichern, und veröffentlichen Sie die App dann erneut.
- Wählen Sie eine Debugkonfiguration und dann Weitere Dateien im Ziel entfernen unter den Dateiveröffentlichungsoptionen aus.
- Wählen Sie Bearbeiten aus, um das Profil zu bearbeiten, und wählen Sie dann Einstellungen aus.
- Klicken Sie auf Speichern, und veröffentlichen Sie die App dann erneut.
- Wählen Sie eine Debugkonfiguration und dann Weitere Dateien im Ziel entfernen unter den Dateiveröffentlichungsoptionen aus.
Warnung
Die Verwendung von Benutzernamen- und Kennwortanmeldeinformationen (Standardauthentifizierung) ist nicht die sicherste Authentifizierungsmethode. Verwenden Sie nach Möglichkeit alternative Methoden. Ziehen Sie beispielsweise die Veröffentlichung in einem Paket aus Visual Studio in Betracht, und verwenden Sie dann WebDeploy.exe aus einer Befehlszeile, um das Paket bereitzustellen. Mit dieser Methode können Sie den IIS-Manager verwenden, um autorisierte Windows-Benutzer zu konfigurieren, die auf dem Webserver veröffentlichen können, und WebDeploy.exe unter diesem Windows-Benutzerkonto ausführen. Siehe Installieren und Konfigurieren der Webbereitstellung unter IIS 8.0 oder höher. Wenn Sie Kennwortanmeldeinformationen verwenden, stellen Sie sicher, dass ein sicheres Kennwort verwendet wird, und sichern Sie sich, dass das Kennwort nicht freigegeben oder freigegeben wird.
(Optional) Bereitstellung durch Veröffentlichen in einem lokalen Ordner
Sie können diese Option verwenden, um Ihre App bereitzustellen, wenn Sie die App mithilfe von PowerShell bzw. RoboCopy in IIS kopieren möchten, oder wenn Sie die Dateien manuell kopieren möchten.
Konfigurieren der ASP.NET Core-Website auf dem Windows Server-Computer
Öffnen Sie den Windows-Explorer, und erstellen Sie den neuen Ordner C:\Publish, um das ASP.NET Core-Projekt bereitzustellen.
Öffnen Sie den Internetinformationsdienste-Manager (IIS) , wenn dieser nicht bereits geöffnet ist. (Klicken Sie links im Server-Manager auf IIS. Klicken sie erst mit der rechten Maustaste auf den Server und anschließend mit der linken auf Internetinformationsdienste-Manager.)
Navigieren Sie links unter Verbindungen zu Websites.
Wählen Sie die Standardwebsite aus, klicken Sie auf Grundeinstellungen, und legen Sie den physischen Pfad auf C:\Publish fest.
Klicken Sie mit der rechten Maustaste auf den Knoten Standardwebsite , und wählen Sie Anwendung hinzufügenaus.
Legen Sie das Feld Alias auf MyASPApp fest. Akzeptieren Sie den Standardanwendungspool (DefaultAppPool), und legen Sie den physischen Pfad auf C:\Publish fest.
Klicken Sie unter Verbindungen auf Anwendungspools. Öffnen Sie den Standardanwendungspool (DefaultAppPool), und legen Sie das Feld für den Anwendungspool auf Kein verwalteter Code fest.
Klicken Sie im IIS-Manager mit der rechten Maustaste auf die neue Website, klicken Sie auf Berechtigungen bearbeiten, und stellen Sie sicher, dass IUSR, IIS_IUSRS oder der Benutzer, der für den Zugriff auf die Web-App konfiguriert ist, ein autorisierter Benutzer mit Lese- und Ausführungsrechten ist.
Wenn einer dieser Benutzer keinen Zugriff hat, führen Sie die Schritte zum Hinzufügen von IUSR als Benutzer mit Lese- und Ausführungsrechten aus.
Wichtig
Sicherheitsinformationen zu den integrierten Konten finden Sie unter Grundlegendes zu integrierten Benutzer- und Gruppenkonten in IIS 7.
Veröffentlichung und Bereitstellung der App über einen lokalen Ordner in Visual Studio
Sie können die App auch über das Dateisystem oder andere Tools veröffentlichen und bereitstellen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Veröffentlichen (für Web Forms Web-App veröffentlichen) aus.
Wenn Sie bereits Veröffentlichungsprofile konfiguriert haben, wird der Bereich Veröffentlichen angezeigt. Klicken Sie auf Neues Profil.
Wählen Sie im Dialogfeld Veröffentlichen die Option Ordner aus, klicken Sie auf Durchsuchen, und erstellen Sie den neuen Ordner C:\Publish.
Klicken Sie auf Fertig stellen, um das Veröffentlichungsprofil zu speichern.
Klicken Sie auf Fertig stellen, um das Veröffentlichungsprofil zu speichern.
Wechseln Sie zu einer Debugkonfiguration.
Wählen Sie Bearbeiten aus, um das Profil zu bearbeiten, und wählen Sie dann Einstellungen aus. Wählen Sie eine Debugkonfiguration und dann Weitere Dateien im Ziel entfernen unter den Dateiveröffentlichungsoptionen aus.
Hinweis
Wenn Sie einen Releasebuild verwenden, deaktivieren Sie beim Veröffentlichen das Debuggen in der Datei web.config.
Klicken Sie auf Veröffentlichen.
Die Anwendung veröffentlicht eine Debugkonfiguration des Projekts im lokalen Ordner. Der Status wird im Fenster „Ausgabe“ angezeigt.
Kopieren Sie das ASP.NET-Projektverzeichnis vom Visual Studio-Computer in ein für die ASP.NET-App konfiguriertes lokales Verzeichnis (in diesem Beispiel C:\Publish) auf dem Windows Server-Computer. In diesem Tutorial wird davon ausgegangen, dass Sie den Kopiervorgang manuell durchführen, Sie können aber auch andere Tools wie PowerShell, XCopy oder Robocopy verwenden.
Achtung
Wenn Sie Änderungen am Code vornehmen müssen, müssen Sie die Veröffentlichung erneut ausführen und diesen Schritt wiederholen. Die ausführbare Datei, die Sie auf den Remotecomputer kopiert haben, muss genau mit der lokalen Quelle und den lokalen Symbolen übereinstimmen. Wenn Sie dies nicht beachten, wird in Visual Studio beim Debuggen des Prozesses die Warnung
cannot find or open the PDB file
angezeigt.Überprüfen Sie auf dem Windows-Server, ob Sie die App ordnungsgemäß ausführen können, indem Sie die App in Ihrem Browser öffnen.
Wenn die App nicht ordnungsgemäß ausgeführt wird, liegt möglicherweise ein Konflikt zwischen der auf dem Server und der auf dem Visual Studio-Computer installierten ASP.NET-Version vor, oder es liegt ein Problem bei der IIS- oder Websitekonfiguration vor. Überprüfen Sie die vorherigen Schritte.
Herunterladen und Installieren der Remotetools unter Windows Server
Laden Sie die Version der Remotetools herunter, die mit Ihrer Version von Visual Studio übereinstimmt.
Laden Sie über die Links in der folgenden Tabelle die richtige Version der Remotetools herunter, und installieren Sie sie nicht auf dem Visual Studio-Computer, sondern auf dem Remotegerät oder -server, auf dem Sie das Debugging durchführen möchten.
- Laden Sie das neueste Update der Remotetools für Ihre Visual Studio-Version herunter. Frühere Remotetools-Versionen sind nicht mit späteren Visual Studio-Versionen kompatibel. (Wenn Sie beispielsweise Visual Studio 2019 verwenden, laden Sie das neueste Update der Remotetools für Visual Studio 2019 herunter. Laden Sie in diesem Szenario die Remotetools für Visual Studio 2022 nicht herunter.)
- Laden Sie die Remotetools herunter, die die gleiche Architektur wie der Computer aufweisen, auf dem Sie sie installieren. Wenn Sie beispielsweise x86-Anwendungen auf einem Remotecomputer mit einem x64-Betriebssystem debuggen möchten, installieren Sie die x64-Remotetools. Installieren Sie zum Debuggen von x86-, ARM- oder x64-Anwendungen unter einem ARM64-Betriebssystem die ARM64-Remotetools.
Version | Link | Hinweise |
---|---|---|
Visual Studio 2022 | Remotetools | Kompatibel mit allen Visual Studio 2022-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools bei älteren Versionen von Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2019 | Remotetools | Remotetools für Visual Studio 2019 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools bei älteren Versionen von Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2017 | Remotetools | Remotetools für Visual Studio 2017 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2015 | Remotetools | Remotetools für Visual Studio 2015 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2013 | Remotetools | Downloadseite in der Visual Studio 2013-Dokumentation |
Visual Studio 2012 | Remotetools | Downloadseite in der Visual Studio 2012-Dokumentation |
Version | Link | Hinweise |
---|---|---|
Visual Studio 2019 | Remotetools | Kompatibel mit allen Visual Studio 2019-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. Informationen zur aktuellen Version der Remotetools finden Sie in der Visual Studio 2022-Dokumentation. |
Visual Studio 2017 | Remotetools | Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 [AMD64] oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2015 | Remotetools | Remotetools für Visual Studio 2015 stehen auf My.VisualStudio.com zur Verfügung. Treten Sie bei entsprechender Aufforderung dem kostenlosen Programm Visual Studio Dev Essentials bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools in Windows Server benötigen, lesen Sie bitte die Informationen unter Zulassen des Downloads von Dateien. |
Visual Studio 2013 | Remotetools | Downloadseite in der Visual Studio 2013-Dokumentation |
Visual Studio 2012 | Remotetools | Downloadseite in der Visual Studio 2012-Dokumentation |
Sie können den Remotedebugger ausführen, indem Sie msvsmon.exe auf den Remotecomputer kopieren, statt die Remotetools zu installieren. Der Konfigurations-Assistent für den Remotedebugger (rdbgwiz.exe) ist jedoch nur verfügbar, wenn Sie die Remotetools installieren. Unter Umständen müssen Sie den Assistenten für die Konfiguration verwenden, wenn Sie den Remotedebugger als Dienst ausführen möchten. Weitere Informationen finden Sie unter (Optional) Konfigurieren des Remotedebuggers als Dienst.
Hinweis
- Verwenden Sie ARM64 (verfügbar mit der aktuellen Version der Remotetools) zum Debuggen von Windows 10-Apps (oder höher) auf ARM-Geräten.
- Zum Debuggen von Windows 10-Apps auf Windows RT-Geräten verwenden Sie ARM (nur im Download der Visual Studio 2015-Remotetools verfügbar).
- Um x64-Apps unter einem ARM64-Betriebssystem zu debuggen, führen Sie die Datei „msvsmon.exe“ für x64 aus, die mit den ARM64-Remotetools installiert wird.
Einrichten des Remotedebuggers unter Windows Server
Suchen und starten Sie auf dem Remotecomputer im Menü Start den Remotedebugger.
Wenn Sie auf dem Remotecomputer nicht über Administratorberechtigungen verfügen, klicken Sie mit der rechten Maustaste auf die App Remotedebugger, und wählen Sie Als Administrator ausführen aus. Starten Sie andernfalls die App auf normale Weise.
Wenn Sie beabsichtigen, eine Verbindung mit einem Prozess herzustellen, der unter einem Administratorkonto oder einem anderen Benutzerkonto ausgeführt wird (z. B IIS), klicken Sie mit der rechten Maustaste auf die App Remotedebugger, und wählen Sie Als Administrator ausführen aus. Weitere Informationen finden Sie unter Ausführen des Remotedebuggers als Administrator.
Wenn Sie den Remotedebugger zum ersten Mal starten (oder bevor Sie ihn konfiguriert haben), wird der Assistent Konfiguration für Remotedebugging angezeigt.
In den meisten Szenarien wählen Sie Weiter aus, bis Sie zur Seite Windows-Firewall konfigurieren des Assistenten gelangen.
Wenn die Windows-Webdienste-API nicht installiert ist (geschieht nur unter Windows Server 2008 R2), klicken Sie auf die Schaltfläche Installieren.
Wählen Sie mindestens einen Netzwerktyp aus, für den Sie die Remotetools verwenden möchten. Wenn die Computer über eine Domäne verbunden sind, müssen Sie das erste Element auswählen. Wenn die Computer über eine Arbeitsgruppe oder eine Heimnetzgruppe verbunden sind, wählen Sie das zweite bzw. dritte Element aus.
Wählen Sie als Nächstes Fertig stellen aus, um den Remotedebugger zu starten.
Wählen Sie Remotedebugging konfigurieren aus, um den Remotedebugger zu starten.
Wenn die Konfiguration abgeschlossen ist, wird das Fenster Remotedebugger angezeigt.
Der Remotedebugger wartet nun auf eine Verbindung. Verwenden Sie den Servernamen und die Portnummer, die angezeigt werden, um die Remoteverbindungskonfiguration in Visual Studio festzulegen.
Um den Remotedebugger zu beenden, wählen Sie Datei>Beenden aus. Sie können ihn über das Menü Start oder über die Befehlszeile neu starten:
<Remote debugger installation directory>\msvsmon.exe
Hinweis
Wenn Sie Berechtigungen für weitere Benutzer hinzufügen, den Authentifizierungsmodus oder die Portnummer für den Remotedebugger ändern müssen, finden Sie weitere Informationen unter Konfigurieren des Remotedebuggers.
Weitere Informationen zum Ausführen des Remotedebuggers als Dienst finden Sie unter (Optional) Konfigurieren des Remotedebuggers als Dienst.
Anfügen an die Anwendung ASP.NET Core auf dem Visual Studio-Computer
Seit Visual Studio 2022, Version 17.10 Vorschau 2, hat sich das Dialogfeld „An Prozess anfügen“ geändert. Wenn Sie Anweisungen für das ältere Dialogfeld benötigen, wechseln Sie zur Ansicht für Visual Studio 2019 (obere linke Versionsauswahl im Artikel).
Öffnen Sie auf dem Visual Studio-Computer die Projektmappe, die Sie debuggen möchten (MyASPApp, wenn Sie die Schritte in diesem Artikel befolgen).
Klicken Sie in Visual Studio auf Debuggen > An den Prozess anhängen (STRG+ALT+P).
Tipp
In Visual Studio 2017 und höheren Versionen können Sie an denselben Prozess, an den Sie zuvor angefügt haben, erneut anfügen, indem Sie Debuggen > Reattach to Process... (Erneut an Prozess anfügen) (UMSCHALT+ALT+P).
Stellen Sie den Verbindungstyp auf Remote (Windows) ein.
Daraufhin wird die Option Verbindungsziel angezeigt.
Stellen Sie das Verbindungsziel auf den <Namen des Remotecomputers> ein, und drücken Sie die EINGABETASTE.
Vergewissern Sie sich, dass Visual Studio den erforderlichen Port dem Computernamen hinzufügt, der im folgenden Format angezeigt wird: <Remotecomputername>:Port
In Visual Studio 2022 sollte <Remotecomputername>:4026 angezeigt werden.
Der Port ist erforderlich. Wenn die Portnummer nicht angezeigt wird, fügen Sie sie manuell hinzu.
Öffnen Sie auf dem Visual Studio-Computer die Projektmappe, die Sie debuggen möchten (MyASPApp, wenn Sie die Schritte in diesem Artikel befolgen).
Klicken Sie in Visual Studio auf Debuggen > An den Prozess anhängen (STRG+ALT+P).
Tipp
In Visual Studio 2017 und höheren Versionen können Sie an denselben Prozess, an den Sie zuvor angefügt haben, erneut anfügen, indem Sie Debuggen > Reattach to Process... (Erneut an Prozess anfügen) (UMSCHALT+ALT+P).
Legen Sie das Feld „Qualifizierer“ auf <Name_des_Remotecomputers>> fest, und drücken Sie die EINGABETASTE.
Vergewissern Sie sich, dass Visual Studio den erforderlichen Port dem Computernamen hinzufügt, der im folgenden Format angezeigt wird: <Remotecomputername>:Port
In Visual Studio 2019 sollte <Remotecomputername>:4024 angezeigt werden.
Der Port ist erforderlich. Wenn die Portnummer nicht angezeigt wird, fügen Sie sie manuell hinzu.
Wählen Sie Aktualisieren aus.
Im Fenster sollten einige Prozesse Verfügbare Prozesse angezeigt werden.
Wenn keine Prozesse angezeigt werden, versuchen Sie, die IP-Adresse anstelle des Remotecomputernamens zu verwenden (der Port ist erforderlich). Sie können
ipconfig
in einer Befehlszeile verwenden, um die IPv4-Adresse abzurufen.Wenn Sie die Schaltfläche Suchen verwenden möchten, müssen Sie möglicherweise den ausgehenden UDP-Port 3702 auf dem Server öffnen.
Aktivieren Sie Prozesse aller Benutzer anzeigen.
Geben Sie den ersten Buchstaben des Namens Ihres Prozesses ein, um Ihre App schnell zu suchen.
Wenn Sie das prozessinterne Hostingmodell unter IIS verwenden, wählen Sie den richtigen w3wp.exe-Prozess aus. Ab .NET Core 3 ist dies der Standardprozess.
Wählen Sie andernfalls den Prozess dotnet.exe aus. (Dies ist das prozessexterne Hostingmodell.)
Wenn für mehrere Prozesse w3wp.exe oder dotnet.exe angezeigt wird, müssen Sie in der Spalte Benutzername nachsehen. In einigen Szenarios wird in der Spalte Benutzername der Name Ihres App-Pools angezeigt, z. B. IIS APPPOOL\DefaultAppPool. Wenn Ihnen der App-Pool angezeigt wird, der Name jedoch nicht eindeutig ist, erstellen Sie einen neuen benannten App-Pool für die App-Instanz, die Sie debuggen möchten. Sie können ihn dann leicht in der Spalte Benutzername wiederfinden.
Wählen Sie Anfügen aus.
Öffnen Sie die Website des Remotecomputers. Navigieren Sie in einem Browser zu http://<Name_des_Remotecomputers>>.
Es sollte die ASP.NET-Webseite angezeigt werden.
Wählen Sie in der ausgeführten ASP.NET-Anwendung den Link zur Seite Datenschutz aus.
Der Haltepunkt sollte in Visual Studio erreicht werden.
Wenn Sie den Breakpoint nicht anfügen oder erreichen können, siehe Problembehandlung beim Remotedebuggen.
Problembehandlung bei der IIS-Bereitstellung
- Wenn Sie mithilfe des Hostnamens keine Verbindung mit dem Host herstellen können, versuchen Sie es stattdessen mit der IP-Adresse.
- Stellen Sie sicher, dass die benötigten Ports auf dem Remoteserver geöffnet sind.
- Für ASP.NET Core müssen Sie sicherstellen, dass das Feld „Anwendungspool“ für DefaultAppPool auf Kein verwalteter Code festgelegt ist.
- Vergewissern Sie sich, dass die Version von ASP.NET in Ihrer App mit der Version identisch ist, die Sie auf dem Server installiert haben. Für Ihre App können Sie die Version auf der Eigenschaften-Seite anzeigen und einstellen. Um die App auf eine andere Version festzulegen, muss diese Version installiert sein.
- Wenn die App versucht hat, die Website zu öffnen, aber eine Zertifikatwarnung angezeigt wird, wählen Sie aus, der Website zu vertrauen. Wenn Sie die Warnung bereits geschlossen haben, können Sie das Veröffentlichungsprofil, eine *.pubxml-Datei, in Ihrem Projekt bearbeiten und das folgende Element hinzufügen (nur zum Test):
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
- Starten Sie die App nach der Bereitstellung in IIS, um zu testen, ob sie richtig bereitgestellt wurde.
- Überprüfen Sie die Statusinformationen im Fenster „Ausgabe“ in Visual Studio, und überprüfen Sie die Fehlermeldungen.
Öffnen erforderlicher Ports unter Windows Server
In den meisten Setups werden erforderliche Ports durch die Installation von ASP.NET und des Remotedebuggers geöffnet. Möglicherweise müssen Sie jedoch selbst dafür sorgen, dass die Ports geöffnet sind.
Hinweis
Auf einer Azure-VM müssen Sie Ports über die Netzwerksicherheitsgruppe öffnen.
Erforderliche Ports:
- 80: Erforderlich für IIS (HTTP).
- 4026: erforderlich für das Remotedebuggen aus Visual Studio 2022 (weitere Informationen finden Sie unter Remotedebugger – Portzuweisungen).
- 4024: erforderlich für das Remotedebuggen aus Visual Studio 2019 (weitere Informationen finden Sie unter Remotedebugger – Portzuweisungen).
- UDP 3702: (optional) Über den Ermittlungsport können Sie die Schaltfläche Suchen beim Anfügen an den Remotedebugger in Visual Studio nutzen.
Außerdem sollten diese Ports bereits von der ASP.NET-Installation geöffnet worden sein:
- 8172: (Optional) erforderlich, damit Web Deploy die App aus Visual Studio bereitstellen kann.
Öffnen eines Ports
Suchen Sie im Menü Start nach Windows Defender Firewall oder Windows-Firewall mit erweiterter Sicherheit, um einen Port in Windows Server zu öffnen.
Wählen Sie für Windows Defender Firewall die Option Erweiterte Einstellungen aus.
Navigieren Sie dann zu Eingangsregeln > Neue Regel > Port, und klicken Sie auf Weiter. (Klicken Sie für UDP 3702 stattdessen auf Ausgehende Regeln.)
Geben Sie unter Bestimmte lokale Ports die Portnummer ein, und klicken Sie auf Weiter.
Wählen Sie Verbindung zulassen und dann Weiter aus.
Wählen Sie mindestens einen Netzwerktyp aus, die für den Port aktiviert werden sollen, und klicken Sie auf Weiter.
Ein Typ muss das Netzwerk beinhalten, mit dem der Remotecomputer verbunden ist.
Fügen Sie für die eingehende Regel einen Namen ein (z. B. IIS, Web Deploy oder msvsmon), und klicken Sie auf Beenden.
Daraufhin sollte die neue Regel in der Liste „Eingangsregeln“ bzw. „Ausgangsregeln“ angezeigt werden.
Weitere Informationen zum Konfigurieren der Windows-Firewall finden Sie unter Konfigurieren der Windows-Firewall für das Remotedebuggen.
Erstellen Sie mehr Regeln für die restlichen erforderlichen Ports.