Remotedebuggen von ASP.NET Core in IIS in Azure in Visual Studio

In diesem Leitfaden wird erläutert, wie Sie eine Visual Studio ASP.NET Core-App einrichten, konfigurieren und mithilfe von Azure in IIS bereitstellen. Außerdem wird beschrieben, wie Sie den Remotedebugger aus Visual Studio anfügen.

Für IIS-Szenarios wird Linux nicht unterstützt.

Die empfohlene Vorgehensweise für das Remotedebuggen in Azure hängt von Ihrem Szenario ab:

  • Informationen zum Debuggen von ASP.NET Core in Azure App Service finden Sie unter Debuggen von Azure-Apps mit dem Momentaufnahmedebugger. Dies ist die empfohlene Methode.

  • Um ASP.NET Core in Azure App Service mithilfe von herkömmlichen Debugfunktionen zu debuggen, führen Sie die Schritte in diesem Thema aus (siehe Abschnitt Remotedebuggen in Azure App Service).

    In diesem Szenario müssen Sie die App aus Visual Studio in Azure bereitstellen, aber Sie müssen IIS oder den Remotedebugger (diese Komponenten werden durch gepunktete Linien dargestellt) nicht manuell installieren oder konfigurieren, wie in der folgenden Abbildung dargestellt.

    Diagramm, das die Beziehung zwischen Visual Studio, Azure App Service und einer ASP.NET-App zeigt. IIS und der Remotedebugger werden mit gepunkteten Linien dargestellt.

  • Um IIS auf einer Azure-VM zu debuggen, führen Sie die Schritte in diesem Thema aus (weitere Informationen finden Sie im Abschnitt Remotedebuggen auf einer Azure-VM). Dies ermöglicht es Ihnen, eine angepasste Konfiguration von IIS zu verwenden, die Einrichtungs- und Bereitstellungsschritte sind jedoch komplizierter.

    Für eine Azure-VM müssen Sie Ihre App aus Visual Studio in Azure bereitstellen. Außerdem müssen Sie die IIS-Rolle und den Remotedebugger manuell installieren, wie in der folgenden Abbildung gezeigt.

    Diagramm, das die Beziehung zwischen Visual Studio, einer Azure-VM und einer ASP.NET-App zeigt. IIS und der Remotedebugger werden mit durchgezogenen Linien dargestellt.

  • Informationen zum Debuggen von ASP.NET Core in Azure Service Fabric finden Sie unter Debuggen einer Service Fabric-Remoteanwendung.

Warnung

Stellen Sie sicher, dass Sie die Azure-Ressourcen löschen, die Sie erstellt haben, nachdem Sie die Schritte in diesem Tutorial ausgeführt haben. Auf diese Weise können Sie unnötige Kosten vermeiden.

Voraussetzungen

Sie benötigen Visual Studio 2019 oder höher, um die in diesem Artikel beschriebene Anleitung auszuführen.

Visual Studio 2017 ist erforderlich, um die in diesem Artikel gezeigten Schritte auszuführen.

Netzwerkanforderungen

Das Debuggen zwischen zwei über einen Proxy verbundenen Computern wird nicht unterstützt. Das Debuggen über eine Verbindung mit hoher Latenz oder geringer Bandbreite (z. B. eine Interneteinwählverbindung oder länderübergreifend über das Internet) wird nicht empfohlen und kann fehlschlagen oder inakzeptabel langsam sein. Eine vollständige Liste der Anforderungen finden Sie unter Anforderungen.

Erstellen der ASP.NET Core-Anwendung auf dem Visual Studio-Computer

  1. Erstellen Sie eine neue ASP.NET Core-Webanwendung.

    Wählen Sie im Startfenster von Visual Studio 2019 die Option Neues Projekt erstellen aus. Wenn das Startfenster nicht geöffnet ist, klicken Sie auf Datei > Startfenster. Geben Sie Web-App ein, wählen Sie als Sprache C# und anschließend ASP.NET Core-Webanwendung (Model View Controller) aus, und klicken Sie dann auf Weiter. 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 6 aus, und wählen Sie Erstellen aus.

    Wählen Sie in Visual Studio 2017 Datei > Neu > Projekt und dann Visual C# > Web > ASP.NET Core-Webanwendung aus. Wählen Sie im Abschnitt zu den ASP.NET Core-Vorlagen Webanwendung (Model-View-Controller) aus. Achten Sie darauf, dass ASP.NET Core 2.1 (oder eine höhere Version) ausgewählt ist, dass Docker-Unterstützung aktivieren nicht ausgewählt ist und dass Authentifizierung auf Keine Authentifizierung festgelegt ist. Geben Sie dem Projekt den Namen MyASPApp.

  2. Öffnen Sie die Datei „About.cshtml.cs“, und legen Sie einen Breakpoint in der OnGet-Methode fest (in älteren Vorlagen öffnen Sie stattdessen „HomeController.cs“ und legen den Breakpoint in der About()-Methode fest).

Remotedebuggen von ASP.NET Core in Azure App Service (Windows)

Über Visual Studio können Sie Ihre App schnell auf Azure App Service auf Windows, basierend auf einer vollständig bereitgestellten Instanz von IIS, veröffentlichen und debuggen. Wenn Sie IIS auf einem virtuellen Computer hosten, versuchen Sie, das Debuggen auf einer Azure-VM auszuführen.

  1. Erstellen Sie ein Veröffentlichungsprofil für Azure App Service mithilfe des Fensters „Veröffentlichen“.

  2. Wählen Sie im Profil unter Hosting das Menü ... aus. Wählen Sie die Option Debugger anfügen aus.

    Visual Studio versucht, den Remotedebugger an die Instanz von Azure App Service (Windows) anzufügen, in der das Profil die Veröffentlichung durchführt.

    Screenshot der Option "Debugger anfügen" auf der Seite mit der Veröffentlichungsübersicht.

Hinweis

Ab Visual Studio 2022 ist Cloud-Explorer veraltet. Von Cloud-Explorer wurde die vorherige Methode des Remotedebuggens für Azure App Service bereitgestellt.

So stellen Sie die App und Remotedebuggen mit Cloud-Explorer bereit

  1. Klicken Sie in Visual Studio mit der rechten Maustaste auf den Projektknoten, und wählen Sie dann Veröffentlichen aus.

    Wenn Sie bereits Veröffentlichungsprofile konfiguriert haben, wird der Bereich Veröffentlichen angezeigt. Wählen Sie entweder Neu oder Neues Profil aus.

  2. Erstellen Sie ein neues Veröffentlichungsprofil.

    Wählen Sie Azure im Dialogfeld Veröffentlichen und dann Weiter aus. Wählen Sie dann Azure App Service (Windows) und Weiter aus, und befolgen Sie die Eingabeaufforderungen, um ein Profil zu erstellen.

    Bereitstellen einer ASP.NET Core-Web-App in Azure mit Visual Studio

    Wählen Sie in Visual Studio 2017 Azure App Service im Dialogfeld Veröffentlichen aus, wählen Sie die Option Neu erstellen aus, und befolgen Sie die Anweisungen, um ein Profil zu erstellen.

    Ausführlichere Anweisungen dazu finden Sie unter Veröffentlichen einer ASP.NET Core-App in Azure mit Visual Studio.

  3. Wählen Sie im Fenster „Veröffentlichen“ Konfiguration bearbeiten aus, und wechseln Sie zu einer Debugkonfiguration. Wählen Sie dann Veröffentlichen aus.

    Eine Debugkonfiguration ist erforderlich, um die App zu debuggen.

  4. Öffnen Sie Cloud-Explorer (Anzeigen > Cloud-Explorer), klicken Sie mit der rechten Maustaste auf die App Service-Instanz, und wählen Sie Debugger anfügen aus.

    Wenn Cloud-Explorer nicht verfügbar ist, öffnen Sie stattdessen Server-Explorer. Klicken Sie dann mit der rechten Maustaste auf die App Service-Instanz in Server-Explorer, und wählen Sie Debugger anfügen aus.

  5. Klicken Sie in der ausgeführten ASP.NET-Anwendung auf den Link zur Seite Info.

    Der Haltepunkt sollte in Visual Studio erreicht werden.

    Das ist alles! Die restlichen Schritte in diesem Thema gelten für Remotedebuggen auf einer Azure-VM.

Remotedebuggen von ASP.NET Core auf einer Azure-VM

Sie können eine Azure-VM für Windows Server erstellen und anschließend IIS und die anderen erforderlichen Softwarekomponenten installieren und konfigurieren. Dies nimmt mehr Zeit als die Bereitstellung für einen Azure App Service in Anspruch und erfordert, dass Sie die verbleibenden Schritte in diesem Tutorial ausführen.

Diese Verfahren wurden für die folgenden Serverkonfigurationen getestet:

  • Windows Server 2012 R2 und IIS 8
  • Windows Server 2016 und IIS 10
  • Windows Server 2019 und IIS 10

Wird die App bereits in IIS auf der Azure-VM ausgeführt?

Dieser Artikel enthält Schritte zum Einrichten einer Basiskonfiguration von IIS unter Windows Server und zum Bereitstellen der App aus Visual Studio. Diese Schritte sind enthalten, um sicherzustellen, dass auf dem Server die erforderlichen Komponenten installiert sind, dass die App ordnungsgemäß ausgeführt werden kann und dass Sie für Remotedebuggen bereit sind.

  • 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 Artikel.

    • Führen Sie vor Beginn alle in Erstellen eines virtuellen Windows-Computers beschriebenen Schritte aus, einschließlich der Schritte zur Installation des IIS-Webservers.

    • Vergessen Sie nicht, Port 80 in der Azure-Netzwerksicherheitsgruppe zu ö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 ihn später nicht mehr öffnen. Wenn Sie Web Deploy verwenden, öffnen Sie auch Port 8172.

Aktualisieren der Sicherheitseinstellungen des Browsers unter Windows Server

Wenn die verstärkte Sicherheitskonfiguration in Internet Explorer aktiviert ist (sie ist standardmäßig aktiviert), 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
  • 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. Um den Vorgang zu vereinfachen, klicken Sie jedoch auf Hinzufügen, wenn Sie dazu aufgefordert werden.

Installieren von ASP.NET Core unter Windows Server

  1. 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. 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.

  2. 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

Bei dieser Bereitstellungsmethode wird Web Deploy verwendet und muss auf dem Server installiert sein. Wenn Sie Web Deploy manuell in 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 der ASP.NET-Website).

Konfigurieren einer ASP.NET Core-Website

  1. 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.

  2. Beenden Sie DefaultAppPool, und starten Sie ihn dann neu.

Installieren und Konfigurieren von Web Deploy für Hostingserver unter Windows Server

Web Deploy 3.6 für Hostingserver umfasst zusätzliche Konfigurationsfeatures für die Erstellung der Datei mit Veröffentlichungseinstellungen über die Benutzeroberfläche.

Der Webplattform-Installer für IIS ermöglicht die Installation von Version 3.6 und nicht von Version 4.0. Dies ist die Version, die diesem Artikel empfohlen wird.

  1. Wenn Sie Web Deploy bereits unter Windows Server installiert haben, führen Sie über Einstellungen > Programme > Programm deinstallieren eine Deinstallation durch.

  2. Installieren Sie anschließend Web Deploy 3.6 für Hostingserver in Windows Server.

    Verwenden Sie den Webplattform-Installer (Web PI) für die Installation von Web Deploy für Hostingserver. (Sie finden den Link zum Web PI über IIS, wenn Sie links im Server-Manager auf IIS klicken. Klicken sie zuerst im Serverbereich mit der rechten Maustaste auf den Server, und wählen Sie dann Internet Information Services (IIS) Manager (Internetinformationsdienste-Manager) aus. Verwenden Sie dann den Link Neue Webplattformkomponenten abrufen im Fenster Aktionen. Sie können den Webplattform-Installer (Web PI) auch über Downloads abrufen.

    Im Webplattform-Installer finden Sie Web Deploy 3.6 für Hostingserver auf der Registerkarte „Anwendungen“.

  3. 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.

    Installieren von Verwaltungsskripts und -tools für IIS

    Sie müssen die Skripts und Tools installieren, damit die Datei mit Veröffentlichungseinstellungen erstellt werden kann.

  4. (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

  1. Schließen Sie die IIS-Verwaltungskonsole, und öffnen Sie sie anschließend erneut. Dann werden die aktualisierten Konfigurationsoptionen auf der Benutzeroberfläche angezeigt.

  2. 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).

    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.

  3. Überprüfen Sie die Einstellungen im Dialogfeld Configure Web Deploy Publishing (Web Deploy-Veröffentlichung konfigurieren).

  4. 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/"
        mySQLDBConnectionString=""
        SQLServerDBConnectionString=""
        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 auch http://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.

  5. Kopieren Sie diese Datei auf den Computer, auf dem Visual Studio ausgeführt wird.

Importieren und Bereitstellen der Veröffentlichungseinstellungen in Visual Studio

  1. 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.

  2. Wählen Sie die Option zum Importieren eines Profils aus.

    Klicken Sie im Dialogfeld Veröffentlichen auf Profil importieren.

    Klicken Sie im Dialogfeld Pick a publish target (Veröffentlichungsziel auswählen) auf Profil importieren.

    „Veröffentlichen“ auswählen

  3. Navigieren Sie zum Speicherort der Datei mit Veröffentlichungseinstellungen, die Sie bereits erstellt haben.

  4. 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.

    Wenn Sie Fehlermeldungen zur Bereitstellung erhalten sollten, klicken Sie auf 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 Felder Server und Ziel-URL ein.

    Dann beginnt Visual Studio mit dem Bereitstellungsprozess, und im Ausgabefenster werden der Fortschritt und die Ergebnisse angezeigt.

    Wenn bei der Bereitstellung Fehler entstehen sollten, klicken Sie auf Einstellungen, 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 Felder Server und Ziel-URL ein.

    Bearbeiten von Einstellungen im Tool zum Veröffentlichen

Hinweis

Wenn Sie eine Azure-VM neu starten, wird die IP-Adresse möglicherweise geändert.

Nachdem die App erfolgreich bereitgestellt wurde, sollte sie automatisch gestartet werden. Wenn die App nicht aus Visual Studio gestartet wird, starten Sie die App in IIS, um zu bestätigen, dass sie ordnungsgemäß ausgeführt wird. Für ASP.NET Core müssen Sie außerdem sicherstellen, dass das Feld „Anwendungspool“ für DefaultAppPool auf Kein verwalteter Code festgelegt ist.

  1. Aktivieren Sie im Dialogfeld Einstellungen das Debuggen, indem Sie auf Weiter klicken, eine Debugkonfiguration auswählen und dann Weitere Dateien im Ziel entfernen unter den Dateiveröffentlichungsoptionen auswählen.

    Wichtig

    Wenn Sie eine Releasekonfiguration auswählen, deaktivieren Sie beim Veröffentlichen das Debuggen in der Datei Web.config.

  2. Klicken Sie auf Speichern, und veröffentlichen Sie die App dann erneut.

(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

Wenn Sie Veröffentlichungseinstellungen importieren, können Sie diesen Abschnitt überspringen.

  1. Öffnen Sie den Internetinformationsdienste-Manager (IIS) , und navigieren Sie zu Websites.

  2. Klicken Sie mit der rechten Maustaste auf den Knoten Standardwebsite , und wählen Sie Anwendung hinzufügen aus.

  3. Legen Sie das Feld Alias auf MyASPApp und das Feld „Anwendungspool“ auf Kein verwalteter Code fest. Legen Sie den physischen Pfad auf C:\Publish fest (in dem Sie das ASP.NET Core-Projekt später bereitstellen).

  4. 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.

(Optional) Veröffentlichung und Bereitstellung der App durch Veröffentlichen in einem lokalen Ordner in Visual Studio

Wenn Sie Web Deploy nicht verwenden, müssen Sie die App mit dem Dateisystem oder anderen Tools veröffentlichen und bereitstellen. Sie können beginnen, indem Sie ein Paket mit dem Dateisystem erstellen und das Paket 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.

  1. 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.

  2. Wählen Sie im Dialogfeld Veröffentlichen die Option Ordner aus, klicken Sie auf Durchsuchen, und erstellen Sie den neuen Ordner C:\Publish.

    Screenshot des Dialogfelds „Veröffentlichungsziel auswählen“ in Visual Studio mit als Veröffentlichungsziel ausgewähltem Ordner „C:\Publish“.

    Klicken Sie auf Fertig stellen, um das Veröffentlichungsprofil zu speichern.

    Screenshot des Dialogfelds „Veröffentlichungsziel auswählen“ in Visual Studio mit als Veröffentlichungsziel ausgewähltem Ordner „bin\Release\Publish“. Wählen Sie für eine Web Forms-App im Dialogfeld „Veröffentlichen“ Benutzerdefiniert aus, geben Sie einen Profilnamen ein, und wählen Sie OK aus.

    Klicken Sie in der Dropdownliste auf Profil erstellen (der Standardwert lautet Veröffentlichen).

  3. 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.

    Aktivieren Sie im Dialogfeld Einstellungen das Debuggen, indem Sie auf Weiter klicken, eine Debugkonfiguration auswählen und dann Weitere Dateien im Ziel entfernen unter den Dateiveröffentlichungsoptionen auswählen.

    Hinweis

    Wenn Sie einen Releasebuild verwenden, deaktivieren Sie beim Veröffentlichen das Debuggen in der Datei web.config.

  4. Klicken Sie auf Veröffentlichen.

    Screenshot der Registerkarte „Einstellungen“ im Dialogfeld „Veröffentlichen“. Die „Konfiguration“ ist auf „Debuggen“ festgelegt, und die Schaltfläche „Veröffentlichen“ ist ausgewählt.

    Die Anwendung veröffentlicht eine Debugkonfiguration des Projekts im lokalen Ordner. Der Status wird im Fenster „Ausgabe“ angezeigt.

  5. 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.

  6. Ü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 die aktuellen Remotetools für Ihre Visual Studio-Version herunter. Die aktuelle Version der Remotetools ist mit früheren Versionen von Visual Studio kompatibel, frühere Versionen der Remotetools sind jedoch nicht mit neueren Visual Studio-Versionen kompatibel. (Beispiel: Laden Sie bei Verwendung von Visual Studio 2017 das aktuelle Update der Remotetools für Visual Studio 2017 herunter. Laden Sie in diesem Szenario nicht die Remotetools für Visual Studio 2019 herunter.)
  • Laden Sie die Remotetools herunter, die die gleiche Architektur wie der Computer aufweisen, auf dem Sie sie installieren. Wenn Sie beispielsweise eine 32-Bit-App auf einem Remotecomputer mit einem 64-Bit-Betriebssystem debuggen möchten, installieren Sie die 64-Bit-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 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
Visual Studio 2019 Remotetools Kompatibel mit allen Visual Studio 2019-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads.
Visual Studio 2017 Remotetools Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 oder ARM64). 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 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 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 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 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. 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 oder ARM64). 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 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 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 Remotetools Downloadseite in der Visual Studio 2012-Dokumentation
Version Link Hinweise
Visual Studio 2017 Remotetools Kompatibel mit allen Visual Studio 2017-Versionen. Laden Sie die Version herunter, die Ihrem Gerätebetriebssystem entspricht (x86, x64 oder ARM64). Wenn Sie Unterstützung beim Herunterladen der Remotetools unter Windows Server benötigen, lesen Sie die Informationen unter Entsperren des Dateidownloads. Informationen zur aktuellen Version der Remotetools finden Sie in der Visual Studio 2019-Dokumentation.
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 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 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).

Einrichten des Remotedebuggers unter Windows Server

  1. 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.

  2. Wenn Sie den Remotedebugger zum ersten Mal starten (oder bevor Sie ihn konfiguriert haben), wird das Dialogfeld Konfiguration für Remotedebugging angezeigt.

    Konfiguration des Remotedebuggers

  3. Wenn die Windows-Webdienste-API nicht installiert ist (geschieht nur unter Windows Server 2008 R2), klicken Sie auf die Schaltfläche Installieren.

  4. 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.

  5. Wählen Sie Remotedebugging konfigurieren aus, um die Firewall zu konfigurieren und den Remotedebugger zu starten.

  6. Wenn die Konfiguration abgeschlossen ist, wird das Fenster Remotedebugger angezeigt.

    Fenster des Remotedebuggers

    Fenster des Remotedebuggers

    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.

Anfügen an die ASP.NET-Anwendung vom Visual Studio-Computer aus

  1. Öffnen Sie auf dem Visual Studio-Computer die Projekt Mappe, die Sie debuggen möchten (MyASPApp, wenn Sie die Schritte in diesem Artikel befolgen).

  2. Klicken Sie in Visual Studio auf Debuggen > An Prozess anfügen (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.

  3. Legen Sie das Feld „Qualifizierer“ auf <remote computer name> 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: <remote computer name>:port.

    In Visual Studio 2022 sollte <remote computer name>:4026 angezeigt werden.

    In Visual Studio 2019 sollte <remote computer name>:4024 angezeigt werden.

    In Visual Studio 2017 sollte <remote computer name>:4022 angezeigt werden.

    Der Port ist erforderlich. Wenn die Portnummer nicht angezeigt wird, fügen Sie sie manuell hinzu.

  4. Klicken Sie auf Aktualisieren. 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 UDP-Port 3702 auf dem Server öffnen.

  5. Aktivieren Sie Prozesse aller Benutzer anzeigen.

  6. 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.

    RemoteDBG_AttachToProcess

    RemoteDBG_AttachToProcess

  7. Klicken Sie auf Anfügen aus.

  8. Öffnen Sie die Website des Remotecomputers. Navigieren Sie in einem Browser zu http://<remote computer name> .

    Es sollte die ASP.NET-Webseite angezeigt werden.

  9. Klicken Sie in der ausgeführten ASP.NET-Anwendung auf den Link zur Seite Info.

    Der Haltepunkt sollte in Visual Studio erreicht werden.

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>
  • Wenn die App nicht aus Visual Studio gestartet wird, starten Sie die App in IIS, um zu bestätigen, dass sie ordnungsgemäß bereitgestellt ist.
  • Ü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. Wenn Sie jedoch Bereitstellungsprobleme behandeln 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 die Netzwerksicherheitsgruppe öffnen.

Erforderliche Ports:

  • 80 – erforderlich für IIS
  • UDP 3702 (optional) – Der Ermittlungsport aktiviert für Sie die Schaltfläche Suchen, wenn Sie den Remotedebugger in Visual Studio anfügen.

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.