Remotedebugging ASP.NET Core in IIS mithilfe einer Azure-VM aus Visual Studio
In diesem Handbuch wird erläutert, wie Sie eine Visual Studio ASP.NET Core-App einrichten und konfigurieren, sie mithilfe einer Azure-VM in IIS bereitstellen und den Remotedebugger aus Visual Studio anfügen.
Für IIS-Szenarien wird Linux nicht unterstützt.
Führen Sie die Schritte in diesem Artikel aus, um IIS auf einem virtuellen Azure-Computer zu debuggen. Mit dieser Methode können Sie eine angepasste Konfiguration von IIS verwenden, aber die Einrichtungs- und Bereitstellungsschritte sind komplizierter. Wenn Sie IIS nicht für Ihr Szenario anpassen müssen, können Sie einfachere Methoden zum Hosten und Debuggen der App in Azure App Service auswählen.
Für einen virtuellen Azure-Computer müssen Sie Ihre App aus Visual Studio in Azure bereitstellen und außerdem die IIS-Rolle und den Remotedebugger manuell installieren, wie in der folgenden Abbildung dargestellt.
Warnung
Löschen Sie unbedingt die Azure-Ressourcen, die Sie erstellen, wenn Sie die Schritte in diesem Lernprogramm abgeschlossen haben. Auf diese Weise können Sie unnötige Gebühren vermeiden.
Diese Verfahren wurden auf diesen Serverkonfigurationen getestet:
- Windows Server 2022 und IIS 10
- Windows Server 2019 und IIS 10
- Windows Server 2016 und IIS 10
Voraussetzungen
Visual Studio 2019 oder höhere Versionen sind erforderlich, um die in diesem Artikel gezeigten Schritte auszuführen.
Netzwerkanforderungen
Das Debuggen zwischen zwei Computern, die über einen Proxy verbunden sind, wird nicht unterstützt. Das Debuggen über eine Verbindung mit hoher Latenz oder geringer Bandbreite, z. B. Internetwählverbindungen oder über das Internet über Länder/Regionen, wird nicht empfohlen und kann fehlschlagen oder unannehmbar langsam sein. Eine vollständige Liste der Anforderungen finden Sie unter Anforderungen.
App, die bereits in IIS auf dem virtuellen Azure-Computer ausgeführt wird?
Dieser Artikel enthält Schritte zum Einrichten einer grundlegenden Konfiguration von IIS auf Dem Windows-Server und zum Bereitstellen der App aus Visual Studio. Diese Schritte sind enthalten, um sicherzustellen, dass der Server die erforderlichen Komponenten installiert hat, dass die App ordnungsgemäß ausgeführt werden kann und dass Sie zum Remotedebugging bereit sind.
Wenn Ihre App in IIS ausgeführt wird und Sie nur den Remotedebugger herunterladen und das Debuggen starten möchten, wechseln Sie zu Herunterladen und Installieren der Remotetools unter Windows Server.
Wenn Sie hilfe benötigen, um sicherzustellen, dass Ihre App in IIS eingerichtet, bereitgestellt und ordnungsgemäß ausgeführt wird, damit Sie debuggen können, führen Sie alle Schritte in diesem Artikel aus.
Bevor Sie beginnen, führen Sie alle in Erstellen eines virtuellen Windows-Computersbeschriebenen Schritte aus, die Schritte zum Installieren des IIS-Webservers umfassen.
Stellen Sie sicher, dass Sie Port 80 in der Azure Netzwerksicherheitsgruppeöffnen. Wenn Sie überprüfen, ob Port 80 geöffnet ist, öffnen Sie auch den richtigen Port für den Remotedebugger (4026, 4024 oder 4022). Auf diese Weise müssen Sie sie später nicht öffnen. Wenn Sie Web Deploy verwenden, öffnen Sie auch Port 8172.
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 Erstellen eines neuen Projektsaus. Geben Sie im Suchfeld Web App-ein, und wählen Sie dann C#- als Sprache aus, und wählen Sie dann ASP.NET Core Web Application (Model-View-Controller)aus, und wählen Sie dann Nextaus. Benennen Sie auf dem nächsten Bildschirm das Projekt MyASPApp-, und wählen Sie dann Nextaus.
Wählen Sie entweder das empfohlene Zielframework oder .NET 8 aus, und wählen Sie dann Createaus. Die Version muss mit der auf dem Server installierten Version übereinstimmen.
Öffnen Sie die HomeController.cs Datei im Ordner "Controller", und legen Sie in der
return View;
-Anweisung in derPrivacy
-Methode einen Haltepunkt fest.Öffnen Sie in älteren Vorlagen die Privacy.cshtml.cs-Datei, und legen Sie einen Haltepunkt in der
OnGet
-Methode fest.
Aktualisieren der Browsersicherheitseinstellungen auf Windows Server
Wenn Sie eine ältere Version von Windows Server verwenden, müssen Sie möglicherweise einige Domänen als vertrauenswürdige Websites hinzufügen, damit Sie einige der Webserverkomponenten herunterladen können. Fügen Sie die vertrauenswürdigen Websites hinzu, indem Sie zu Internetoptionen > Sicherheit > vertrauenswürdige Websites > Websiteswechseln. Fügen Sie die folgenden Domänen hinzu.
- microsoft.com
- go.microsoft.com
- download.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 Hinzufügen aus, wenn Sie dazu aufgefordert werden.
Installieren von ASP.NET Core unter Windows Server
Installieren Sie das .NET Core Hosting Bundle auf dem Hostingsystem. Das Bundle installiert die .NET Core Runtime, .NET Core Library und das ASP.NET Core Module. Ausführlichere Informationen finden Sie unter Veröffentlichen in IIS.
Installieren Sie für das aktuelle .NET Core-Hostingbundle das ASP.NET Core Hosting Bundle.
Anmerkung
Wenn Sie IIS zuvor installiert haben, wird das ASP.NET Core IIS-Modul mit ASP.NET Core installiert. Installieren Sie andernfalls das ASP.NET Kern-IIS-Modul manuell.
Um .NET Core 2 zu installieren, installieren Sie das .NET Core Windows Server Hosting .
Anmerkung
Wenn das System über keine Internetverbindung verfügt, rufen Sie die Microsoft Visual C++ 2015 Redistributable ab, bevor Sie das .NET Core Windows Server Hosting Bundle 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 für IIS benötigen, sollten Sie die folgenden Optionen in Betracht ziehen:
Stellen Sie bereit, indem Sie eine Veröffentlichungseinstellungsdatei in IIS erstellen und die Einstellungen in Visual Studio importieren. In einigen Szenarien ist dieser Ansatz eine schnelle Möglichkeit, Ihre App bereitzustellen. Wenn Sie die Veröffentlichungseinstellungsdatei erstellen, werden Berechtigungen automatisch in IIS eingerichtet.
Bereitstellen durch Veröffentlichen in einem lokalen Ordner und Kopieren der Ausgabe durch eine bevorzugte Methode in einen vorbereiteten App-Ordner in IIS.
(Optional) Bereitstellung mithilfe einer Datei mit Veröffentlichungseinstellungen
Mit dieser Option können Sie eine Veröffentlichungseinstellungsdatei erstellen und in Visual Studio importieren.
Anmerkung
Diese Bereitstellungsmethode verwendet Web Deploy, die auf dem Server installiert werden muss. Wenn Sie Web Deploy manuell konfigurieren möchten, anstatt die Einstellungen zu importieren, können Sie Web Deploy 3.6 anstelle von Web Deploy 3.6 für Hostingserver installieren. Wenn Sie web Deploy jedoch manuell konfigurieren, müssen Sie sicherstellen, dass ein App-Ordner auf dem Server mit den richtigen Werten und Berechtigungen konfiguriert ist (siehe Konfigurieren ASP.NET Website).
Konfigurieren der ASP.NET Core-Website
Wählen Sie im IIS-Manager im linken Fensterbereich unter Verbindungendie Option Anwendungspoolsaus. Öffnen Sie DefaultAppPool und legen Sie die .NET CLR-Version auf Kein Verwalteter Codefest. Dies ist für ASP.NET Core erforderlich. Die Standardwebsite verwendet den DefaultAppPool.
Beenden Sie den DefaultAppPool, und starten Sie es erneut.
Installieren und Konfigurieren von Web Deploy auf Windows Server
Web Deploy bietet zusätzliche Konfigurationsfeatures, die die Erstellung der Veröffentlichungseinstellungsdatei über die Benutzeroberfläche ermöglichen.
Anmerkung
Der Webplattform-Installer hat am 01.07.2022 das Ende der Lebensdauer erreicht. Weitere Informationen finden Sie unter Webplattform-Installer: Ende des Supports und Einstellung des Produkt- bzw. Anwendungfeeds. Sie können Web Deploy 4.0 direkt installieren, um die Veröffentlichungseinstellungsdatei zu erstellen.
Wenn Sie IIS-Verwaltungsskripts und -Toolsnoch nicht installiert haben, installieren Sie es jetzt.
Wechseln Sie zu Wählen Sie Serverrollen>Webserver (IIS)>Verwaltungstoolsaus, und wählen Sie dann die rolle IIS-Verwaltungsskripts und - tools aus, klicken Sie auf Nächste, und installieren Sie dann die Rolle.
Die Skripts und Tools sind erforderlich, um die Generierung der Veröffentlichungseinstellungsdatei zu ermöglichen.
Stellen Sie sicher, dass Sie auch die Management Service und IIS-Verwaltungskonsole installieren (sie sind möglicherweise bereits installiert).
Laden Sie Web Deploy 4.0 auf Windows Server herunter.
Führen Sie das Web Deploy-Installationsprogramm aus, und stellen Sie sicher, dass Sie Vollständige Installation anstelle einer typischen Installation auswählen.
Mit einer vollständigen Installation erhalten Sie die Komponenten, die Sie zum Generieren einer Veröffentlichungseinstellungsdatei benötigen. (Wenn Sie stattdessen Custom auswählen, können Sie die Liste der Komponenten sehen, wie in der folgenden Abbildung dargestellt.)
(Optional) Stellen Sie sicher, dass Web Deploy ordnungsgemäß ausgeführt wird, indem Sie Systemsteuerung > System- und Sicherheitstools > Verwaltungstools > Diensteöffnen und dann folgendes sicherstellen:
Web Deployment Agent Service läuft (der Dienstname unterscheidet sich in älteren Versionen).
Webverwaltungsdienst wird ausgeführt.
Wenn einer der Agent-Dienste nicht ausgeführt wird, starten Sie den Webbereitstellungs-Agent-Dienst neu.
Wenn der Webbereitstellungs-Agent-Dienst gar nicht vorhanden ist, gehen Sie zu Einstellungen > Programme > 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 Wird auf der lokalen Festplatte installiert auswählen. Führen Sie die Schritte zur Änderungsinstallation aus.
Erstellen der Veröffentlichungseinstellungsdatei in IIS unter Windows Server
Schließen Sie die IIS-Verwaltungskonsole, und öffnen Sie sie erneut, um aktualisierte Konfigurationsoptionen in der Benutzeroberfläche anzuzeigen.
Klicken Sie in IIS erst mit der rechten Maustaste auf Standardwebsite und anschließend mit der linken auf Bereitstellen>Web Deploy-Veröffentlichung konfigurieren.
Wenn das Menü Bereitstellen nicht angezeigt wird, lesen Sie den vorherigen Abschnitt, um sicherzustellen, dass Web Deploy ausgeführt wird.
Überprüfen Sie die Einstellungen im Dialogfeld Web Deploy-Veröffentlichung konfigurieren.
Klicken Sie auf Einrichten.
Im Bereich Ergebnisse Zeigt die Ausgabe an, dass dem angegebenen Benutzer Zugriffsrechte gewährt werden und dass eine Datei mit einer .publishsettings Dateierweiterung an dem Speicherort generiert wurde, der im Dialogfeld angezeigt wird.
<?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. Hier sind einige Details zu den angezeigten Werten:
Die msdeploy.axd Datei, auf die im attribut
publishUrl
verwiesen wird, ist eine dynamisch generierte HTTP-Handlerdatei für Web Deploy. (Für Testzwecke funktionierthttp://myhostname:8172
in der Regel auch.)Der
publishUrl
-Port ist auf Port 8172 festgelegt. Dies ist die Standardeinstellung für Web Deploy.Der
destinationAppUrl
Port ist auf Port 80 festgelegt. Dies ist die Standardeinstellung für IIS.Wenn Sie in späteren Schritten keine Verbindung mit dem Remotehost von Visual Studio mithilfe des Hostnamens herstellen können, testen Sie die IP-Adresse des Servers anstelle des Hostnamens.
Anmerkung
Wenn Sie auf IIS veröffentlichen, das auf einer Azure-VM ausgeführt wird, 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 der Veröffentlichungseinstellungen in Visual Studio und Bereitstellen
Klicken Sie auf dem Computer, auf dem das ASP.NET Projekt in Visual Studio geöffnet ist, mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer, und wählen Sie Veröffentlichenaus.
Wenn Sie zuvor 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.
" auswählen
Navigieren Sie zum Speicherort der Veröffentlichungseinstellungsdatei, die Sie im vorherigen Abschnitt 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 auf Fertig stellen, um das Veröffentlichungsprofil zu speichern, und klicken Sie dann auf Veröffentlichen.
Visual Studio beginnt den Bereitstellungsprozess, und das Ausgabefenster zeigt Fortschritt und Ergebnisse an.
Wenn Bereitstellungsfehler auftreten, klicken Sie auf Weitere Aktionen>Bearbeiten, um Einstellungen zu bearbeiten. Ändern Sie einstellungen, und klicken Sie auf Überprüfen, um neue Einstellungen zu testen. Wenn der Hostname nicht gefunden wird, versuchen Sie die IP-Adresse anstelle des Hostnamens in den Feldern Server und Ziel-URL.
Anmerkung
Wenn Sie einen virtuellen Azure-Computer neu starten, kann sich die IP-Adresse ändern.
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 überprüfen, ob sie ordnungsgemäß ausgeführt wird.
- Stellen Sie für ASP.NET Core sicher, dass das Feld "Anwendungspool" für die 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 das Debuggen in der web.config-Datei, wenn Sie veröffentlichen.
- Wählen Sie Weitere Optionen>Bearbeiten aus, um das Profil zu bearbeiten, und wählen Sie dann Einstellungenaus.
- 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 Einstellungenaus.
- 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 Passwortanmeldeinformationen verwenden, stellen Sie sicher, dass ein sicheres Kennwort genutzt wird, und schützen Sie das Kennwort vor Leaks oder Weitergabe.
(Optional) Bereitstellen durch Veröffentlichen in einem lokalen Ordner
Sie können diese Option verwenden, um Ihre App bereitzustellen, wenn Sie die App mithilfe von PowerShell, RoboCopy oder manuell in IIS kopieren möchten.
Konfigurieren der ASP.NET Core-Website auf dem Windows Server-Computer
Wenn Sie Veröffentlichungseinstellungen importieren, können Sie diesen Abschnitt überspringen.
Öffnen Sie den Internetinformationsdienste-Manager (IIS), und navigieren Sie zu Websites.
Klicken Sie mit der rechten Maustaste auf den Knoten Standardwebsite, und wählen Sie Anwendung hinzufügen aus.
Legen Sie das Feld "Alias" auf "MyASPApp" und das Feld "Application Pool" auf "Kein verwalteter Code"fest. Legen Sie den physischen Pfad auf C:\Publish fest (wo Sie das ASP.NET Core-Projekt später bereitstellen).
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 Built-In Benutzer- und Gruppenkonten in IIS 7.
(Optional) Veröffentlichen und Bereitstellen der App durch Veröffentlichen in einem lokalen Ordner aus Visual Studio
Wenn Sie Web Deploy nicht verwenden, müssen Sie die App mithilfe des Dateisystems oder anderer Tools veröffentlichen und bereitstellen. Sie können zunächst ein Paket mithilfe des Dateisystems erstellen und dann entweder manuell bereitstellen oder andere Tools wie PowerShell, Robocopy oder XCopy verwenden. In diesem Abschnitt wird davon ausgegangen, dass Sie das Paket manuell kopieren, wenn Sie Web Deploy nicht verwenden.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Veröffentlichen (bei Web Forms: Web-App veröffentlichen) aus.
Wenn Sie zuvor Veröffentlichungsprofile konfiguriert haben, wird der bereich Veröffentlichen angezeigt. Klicken Sie auf Neues Profil.
Wählen Sie im Dialogfeld Veröffentlichen den Ordneraus, klicken Sie auf Durchsuchenund erstellen Sie einen 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 Einstellungenaus. Wählen Sie eine Debug--Konfiguration aus, und wählen Sie dann Entfernen zusätzlicher Dateien am Ziel unter den Optionen Dateiveröffentlichung aus.
Anmerkung
Wenn Sie einen Releasebuild verwenden, deaktivieren Sie das Debuggen in der web.config Datei, wenn Sie veröffentlichen.
Klicken Sie auf Veröffentlichen.
Die Anwendung veröffentlicht eine Debug- Konfiguration des Projekts im lokalen Ordner. Der Fortschritt wird im Ausgabefenster angezeigt.
Kopieren Sie das ASP.NET Projektverzeichnis vom Visual Studio-Computer in das für die ASP.NET-App konfigurierte lokale Verzeichnis (in diesem Beispiel C:\Publish) auf dem Windows Server-Computer. In diesem Lernprogramm wird davon ausgegangen, dass Sie manuell kopieren, aber Sie können andere Tools wie PowerShell, Xcopy oder Robocopy verwenden.
Vorsicht
Wenn Sie Änderungen am Code vornehmen oder neu erstellen müssen, müssen Sie diesen Schritt erneut veröffentlichen und wiederholen. Die ausführbare Datei, die Sie auf den Remotecomputer kopiert haben, muss genau mit Ihrer lokalen Quelle und den lokalen Symbolen übereinstimmen. Wenn Sie dies nicht tun, erhalten Sie eine
cannot find or open the PDB file
Warnung in Visual Studio, wenn Sie versuchen, den Prozess zu debuggen.Stellen Sie auf dem Windows Server sicher, dass Sie die App ordnungsgemäß ausführen können, indem Sie die App in Ihrem Browser öffnen.
Wenn die App nicht ordnungsgemäß ausgeführt wird, besteht möglicherweise ein Konflikt zwischen der Auf dem Server und dem Visual Studio-Computer installierten Version von ASP.NET, oder Sie haben ein Problem mit Ihrer IIS- oder Websitekonfiguration. Überprüfen Sie frühere Schritte erneut.
Herunterladen und Installieren der Remotetools auf Windows Server
Laden Sie die Version der Remotetools herunter, die Ihrer Version von Visual Studio entsprechen.
Laden Sie auf dem Remotegerät oder Server, auf dem Sie debuggen möchten, statt auf dem Visual Studio-Computer, die richtige Version der Remotetools aus den Links in der folgenden Tabelle herunter, und installieren Sie sie.
- Laden Sie das neueste Update der Remotetools für Ihre Version von Visual Studio 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 mit der gleichen Architektur wie den Computer herunter, 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 die ARM64-Remotetools, um x86-, ARM- oder x64-Anwendungen auf einem ARM64-Betriebssystem zu debuggen.
Version | Link | Hinweise |
---|---|---|
Visual Studio 2022 | Remote-Werkzeuge | Kompatibel mit allen Visual Studio 2022-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. In älteren Versionen von Windows Server finden Sie unter Aufheben der Blockierung des Dateidownloads Hilfe zum Herunterladen der Remote-Tools. |
Visual Studio 2019 | Remotetools | Remotetools für Visual Studio 2019 stehen über My.VisualStudio.com zur Verfügung. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. Wenn Sie Unterstützung beim Herunterladen der Remotetools bei älteren Versionen von Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. |
Visual Studio 2017 | Remote-Werkzeuge | Remotetools für Visual Studio 2017 sind über My.VisualStudio.com verfügbar. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. |
Visual Studio 2015 | Remotetools | Remotetools für Visual Studio 2015 stehen über My.VisualStudio.com zur Verfügung. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. |
Visual Studio 2013 | Remote-Werkzeuge | 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 (x86, x64 (AMD64) oder ARM64 entsprechen. Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. Öffnen Sie für die neueste Version der Remotetools das Visual Studio 2022-Dokument. |
Visual Studio 2017 | Remote-Werkzeuge | Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem (x86, x64 (AMD64) oder ARM64 entsprechen. Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. |
Visual Studio 2015 | Fernwerkzeuge | Remotetools für Visual Studio 2015 stehen über My.VisualStudio.com zur Verfügung. Wenn Sie dazu aufgefordert werden, treten Sie dem kostenlosen Visual Studio Dev Essentials Programm bei, oder melden Sie sich mit Ihrer Visual Studio-Abonnement-ID an. Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. |
Visual Studio 2013 | Remotetools | Downloadseite in der Visual Studio 2013-Dokumentation |
Visual Studio 2012 | Fernwerkzeuge | Downloadseite in der Visual Studio 2012-Dokumentation |
Sie können den Remotedebugger ausführen, indem Sie msvsmon.exe auf den Remotecomputer kopieren, anstatt die Remotetools zu installieren. Der Konfigurationsassistent für Remotedebugger (rdbgwiz.exe) ist jedoch nur verfügbar, wenn Sie die Remote-Tools installieren. Möglicherweise 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.
Anmerkung
- Um Windows 10- oder höher-Apps auf ARM-Geräten zu debuggen, verwenden Sie ARM64, das mit der neuesten Version der Remotetools verfügbar ist.
- Um Windows 10-Apps auf Windows RT-Geräten zu debuggen, verwenden Sie ARM, das nur im Download der Visual Studio 2015-Remote-Tools verfügbar ist.
- Um x64-Apps auf einem ARM64-Betriebssystem zu debuggen, führen Sie die x64-msvsmon.exe aus, die mit den ARM64-Remotetools installiert ist.
Einrichten des Remotedebuggers unter Windows Server
Suchen und starten Sie auf dem Remotecomputer im Menü Start den Remotedebugger.
Wenn Sie nicht über Administratorberechtigungen auf dem Remotecomputer verfügen, klicken Sie mit der rechten Maustaste auf die Remotedebugger--App, und wählen Sie Als Administrator ausführenaus. Andernfalls starten Sie es einfach normal.
Wenn Sie planen, einen Prozess anzufügen, der als Administrator ausgeführt wird oder unter einem anderen Benutzerkonto (z. B. IIS) ausgeführt wird, klicken Sie mit der rechten Maustaste auf die Remotedebugger--App, und wählen Sie Als Administrator ausführenaus. 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 Remotedebuggingkonfiguration angezeigt.
Wählen Sie in den meisten Szenarien Next aus, bis Sie zur Seite Konfigurieren der Windows-Firewall Des Assistenten gelangen.
Wenn die Windows-Webdienst-API nicht installiert ist, was nur unter Windows Server 2008 R2 geschieht, wählen Sie die Schaltfläche Installieren aus.
Wählen Sie mindestens einen Netzwerktyp aus, auf dem 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 Heimnetzgruppe verbunden sind, wählen Sie das zweite oder dritte Element entsprechend aus.
Wählen Sie als Nächstes Fertig stellen aus, um den Remotedebugger zu starten.
Wählen Sie als Nächstes Remotedebugging einrichten aus, um den Remotedebugger zu starten.
Nach Abschluss der Konfiguration wird das Fenster Remote-Debugger angezeigt.
Der Remotedebugger wartet jetzt auf eine Verbindung. Verwenden Sie den Servernamen und die Portnummer, die angezeigt wird, um die Remoteverbindungskonfiguration in Visual Studio festzulegen.
Um den Remotedebugger zu beenden, wählen Sie Datei>Beenden aus. Sie können sie über das Menü Start oder über die Befehlszeile neu starten:
<Remote debugger installation directory>\msvsmon.exe
Anmerkung
Wenn Sie Berechtigungen für zusätzliche Benutzer hinzufügen müssen, ändern Sie den Authentifizierungsmodus oder die Portnummer für den Remotedebugger, lesen Sie Konfigurieren des Remotedebuggers.
Von dem Visual Studio-Computer aus an die ASP.NET Core-Anwendung anhängen
Ab Visual Studio 2022, Version 17.10 Preview 2, wurde das Dialogfeld "An Prozess anhängen" geändert. Wenn Sie Anweisungen benötigen, die dem älteren Dialogfeld entsprechen, wechseln Sie zur Visual Studio 2019-Ansicht (obere linke Versionsauswahl im Artikel).
Öffnen Sie auf dem Visual Studio-Computer die Projektmappe, die Sie debuggen möchten (MyASPApp, wenn Sie alle Schritte in diesem Artikel ausführen).
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 > Erneut an Prozess anfügen (UMSCHALT+ALT+P) verwenden.
Legen Sie den Verbindungstyp auf Remote(Windows)fest.
Die Option Verbindungsziel wird angezeigt.
Legen Sie das Verbindungsziel auf den <Namen des Remotecomputers> fest, und drücken Sie EINGABETASTE.
Stellen Sie sicher, dass Visual Studio den erforderlichen Port zum Computernamen hinzufügt, der im Format angezeigt wird: <Remote-Computername>: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 alle Schritte in diesem Artikel ausführen).
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.
Stellen Sie sicher, dass Visual Studio den erforderlichen Port zum Computernamen hinzufügt, der im Format angezeigt wird: <Remote-Computername>:port
In Visual Studio 2019 sollte <Name_des_Remotecomputers>: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 Verfügbare Prozesse sollten einige 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 Ihres Prozessnamens ein, um Ihre App schnell zu finden.
Wenn Sie das In-Process-Hostingmodell in IIS verwenden, wählen Sie den richtigen w3wp.exe Prozess aus. Ab .NET Core 3 ist dieser Prozess der Standard.
Wählen Sie andernfalls den dotnet.exe Prozess aus. (Dies ist das Out-of-Process-Hostingmodell.)
Wenn mehrere Prozesse mit w3wp.exe oder dotnet.exeangezeigt werden, überprüfen Sie die Spalte Benutzernamen. In einigen Szenarien zeigt die spalte Benutzername Ihren App-Poolnamen an, z. B. IIS APPPOOL\DefaultAppPool. Wenn der App-Pool angezeigt wird, aber nicht eindeutig ist, erstellen Sie einen neuen benannten App-Pool für die App-Instanz, die Sie debuggen möchten, und finden Sie ihn dann ganz einfach in der Spalte Benutzername .
Wählen Sie Anfügen aus.
Öffnen Sie die Website des Remotecomputers. Gehen Sie in einem Browser zu http://<Name_des_Remotecomputers>.
Sie sollten die ASP.NET-Webseite sehen.
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 Haltepunkt nicht anfügen oder erreichen können, siehe Problembehandlung beim Remotedebuggen.
Problembehandlung bei der IIS-Bereitstellung
- Wenn Sie keine Verbindung mit dem Host herstellen können, indem Sie den Hostnamen verwenden, versuchen Sie stattdessen die IP-Adresse.
- Stellen Sie sicher, dass die erforderlichen Ports auf dem Remoteserver geöffnet sind.
- Für ASP.NET Core müssen Sie sicherstellen, dass das Feld "Anwendungspool" für die DefaultAppPool- auf "Kein verwalteter Code"festgelegt ist.
- Stellen Sie sicher, dass die in Ihrer App verwendete Version von ASP.NET mit der Version identisch ist, die Sie auf dem Server installiert haben. Für Ihre App können Sie die Version auf der Seite Eigenschaften anzeigen und festlegen. Um die App auf eine andere Version festzulegen, muss diese Version installiert werden.
- Wenn die App versucht hat, sich zu öffnen, aber Sie eine Zertifikatwarnung sehen, wählen Sie, 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 für Test):
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
- Starten Sie die App nach der Bereitstellung in IIS, um zu testen, ob sie ordnungsgemäß bereitgestellt wurde.
- Überprüfen Sie das Ausgabefenster in Visual Studio auf Statusinformationen, und überprüfen Sie Ihre Fehlermeldungen.
Öffnen der erforderlichen Ports unter Windows Server
In den meisten Setups werden erforderliche Ports durch die Installation von ASP.NET und dem Remotedebugger geöffnet. Wenn Sie jedoch Bereitstellungsprobleme beheben und die App hinter einer Firewall gehostet wird, müssen Sie möglicherweise überprüfen, ob die richtigen Ports geöffnet sind.
Auf einer Azure-VM müssen Sie Ports über Folgendes öffnen:
Erforderliche Ports:
- 80 – Erforderlich für IIS
- 4026 – Erforderlich für das Remotedebugging von Visual Studio 2022 (weitere Informationen finden Sie unter Remotedebuggerportzuweisungen).
- 4024 – Erforderlich für das Remotedebugging von Visual Studio 2019 (weitere Informationen finden Sie unter Remotedebuggerportzuweisungen).
- UDP 3702 (optional): Der Ermittlungsport aktiviert für Sie die Schaltfläche Suchen, wenn Sie den Remotedebugger in Visual Studio anfügen. Dies muss ein ausgehender Port (Ausgangsregel) sein.
Darüber hinaus sollten diese Ports bereits von der ASP.NET Core-Installation geöffnet werden:
- 8172 – (Optional) Erforderlich für die Webbereitstellung, um die App von Visual Studio bereitzustellen.