Remotedebuggen von ASP.NET auf einem Remotecomputer mit IIS
Zum Debuggen einer ASP.NET-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 dieser Anleitung wird erläutert, wie Sie eine Visual Studio-App für ASP.NET MVC 4.8 einrichten, konfigurieren, in den IIS bereitstellen und diese über Visual Studio an den Remotedebugger anfügen.
Hinweis
Informationen zum Remotedebuggen von ASP.NET Core finden Sie unter Remotedebuggen von ASP.NET Core auf einem Remotecomputer mit den IIS. 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 2012 R2 und IIS 8 (für Windows Server 2008 R2 unterscheiden sich die Serverschritte)
Netzwerkanforderungen
Der Remotedebugger wird auf Windows Server-Versionen ab Windows Server 2008 Service Pack 2 unterstützt. Eine vollständige Liste der Anforderungen finden Sie unter Anforderungen.
Hinweis
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 und kann fehlschlagen oder unzumutbar langsam ausgeführt werden.
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 Hilfe benötigen, um sicherzustellen, dass Ihre Anwendung korrekt im IIS eingerichtet, bereitgestellt und ausgeführt wird, damit Sie diese debuggen können, befolgen Sie alle Schritte in diesem Artikel.
Erstellen der ASP.NET 4.8-Anwendung auf dem Visual Studio-Computer
Erstellen Sie eine neue MVC ASP.NET-Anwendung.
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 asp.net framework ein, und wählen Sie dann ASP.NET-Webanwendung (.NET Framework) aus. Geben Sie dem Projekt im daraufhin geöffneten Dialogfeld den Namen MyASPApp, wählen Sie ASP.NET Framework 4.8 und dann Erstellen aus.
Wählen Sie MVC aus, und klicken Sie auf Erstellen.
Ö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 4.8 unter Windows Server
Ausführlichere Informationen zur Installation von ASP.NET in den IIS finden Sie unter IIS 8.0 mit ASP.NET 3.5 und ASP.NET 4.5.
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 ASP.NET 4.8 direkt aus IIS installieren.
Klicken Sie links im Server-Manager auf IIS. Klicken Sie mit der rechten Maustaste auf den Server, und wählen Sie Rollen und Features hinzufügen aus.
Wechseln Sie im Assistenten zum Abschnitt Features, und installieren Sie ASP.NET 4.8.
Hinweis
Wenn Sie Windows Server 2008 R2 verwenden, installieren Sie stattdessen ASP.NET 4 mit dem folgenden Befehl:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
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 im IIS benötigen, können Sie diese Optionen in Betracht ziehen:
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
Mit dieser Option können Sie eine Datei mit Veröffentlichungseinstellungen erstellen und sie in Visual Studio 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).
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.
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.
- Wählen Sie eine Debugkonfiguration und dann Weitere Dateien im Ziel entfernen unter den Dateiveröffentlichungsoptionen aus.
- Klicken Sie auf Speichern, und veröffentlichen Sie die App dann erneut.
- 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.
- Klicken Sie auf Speichern, und veröffentlichen Sie die App dann erneut.
Warnung
In einer Produktionsumgebung ist die Verwendung von Benutzernamen- und Kennwortanmeldeinformationen (Standardauthentifizierung) 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-Website auf dem Windows Server-Computer
Öffnen Sie den Windows-Explorer, und erstellen Sie einen neuen Ordner C:\Publish, in dem Sie später das ASP.NET-Projekt bereitstellen.
Ö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 DefaultAppPool und legen Sie das Feld „Anwendungspool“ auf ASP.NET v4.0 fest, (ASP.NET 4.5 kann für den Anwendungspool nicht ausgewählt werden).
Wenn die Site im IIS-Manager ausgewählt ist, wählen Sie Berechtigungen bearbeiten aus, und stellen Sie sicher, dass IUSR, IIS_IUSRS oder der Benutzer, der für den Anwendungspool 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.
Stellen Sie bei ASP.NET 4.8 sicher, dass die Datei web.config die richtige Version von .NET enthält.
Wenn Sie auf ASP.NET 4.8 abzielen, stellen Sie sicher, dass dieser Versionswert in der Datei „web.config“ aufgeführt ist:
<system.web> <compilation debug="true" targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> <httpModules> <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> </httpModules> </system.web> ```
Wenn Sie ASP.NET 4 anstelle von 4.8 installieren, sollte der Versionswert in der Datei „web.config“ als 4.0 angegeben werden.
Führen Sie die folgenden Schritte aus, um die App zu veröffentlichen und bereitzustellen:
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 ASP.NET-Anwendung vom Visual Studio-Computer aus
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 eines Prozessnamens ein, um w3wp.exe für ASP.NET 4.5 schnell zu finden.
Wenn Sie mehrere Prozesse besitzen, für die w3wp.exeangezeigt wird, sehen Sie in der Spalte Benutzername nach. In einigen Szenarios wird in der Spalte Benutzername der Name Ihres App-Pools angezeigt, z. B. IIS APPPOOL\DefaultAppPool. Wenn Sie den App-Pool sehen, ist das Erstellen eines neuen benannten App-Pools für die App-Instanz, die Sie debuggen möchten, eine einfache Möglichkeit zum Identifizieren des richtigen Prozesses. Sie können ihn dann leicht in der Spalte Benutzername ermitteln.
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.
- 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
- 4026: erforderlich für das Remotedebuggen aus Visual Studio 2022 (weitere Informationen siehe 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.
Klicken Sie dann auf Eingangsregeln > Neue Regel > Port. Wählen Sie Weiter und geben Sie unter Bestimmte lokale Ports: die Portnummer ein, wählen Sie Weiter aus, dann Verbindung zulassen, dann noch einmal „Weiter“ und geben Sie den Namen (IIS, Web Deploy oder msvsmon) für die Eingangsregel ein.
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.