Abrufen von Veröffentlichungseinstellungen aus IIS und Importieren in Visual Studio

Sie können das Tool Veröffentlichen zum Importieren von Veröffentlichungseinstellungen verwenden. Anschließend können Sie die App bereitstellen. In diesem Artikel werden Veröffentlichungseinstellungen für IIS verwendet.

Diese Schritte gelten für ASP.NET- und ASP.NET Core-Webanwendungen.

Hinweis

Eine Veröffentlichungseinstellungsdatei (*.publishsettings) unterscheidet sich von einem Veröffentlichungsprofil (*.pubxml). Eine Veröffentlichungseinstellungsdatei wird in IIS erstellt und kann anschließend in Visual Studio importiert werden. Visual Studio erstellt das Veröffentlichungsprofil.

Voraussetzungen

  • Visual Studio installiert mit der Workload „ASP.NET und Webentwicklung“. Wenn Sie Visual Studio bereits installiert haben:

    • Installieren Sie in Visual Studio die neuesten Updates, indem Sie Hilfe>Nach Updates suchen auswählen.
    • Fügen Sie die Workload hinzu. Wählen Sie dazu Tools>Tools und Features abrufen aus.
  • Sie müssen Windows Server 2012 oder neuer auf Ihrem Server ausführen, und die IIS-Webserverrolle muss ordnungsgemäß installiert sein (zum Generieren der Veröffentlichungseinstellungsdatei (*.publishsettings) erforderlich). Außerdem muss entweder ASP.NET 4.5 oder ASP.NET Core auf dem Server installiert sein. Die Schritte in diesem Tutorial wurden in Windows Server 2022 getestet.

    Hinweis

    IIS auf Windows unterstützen nicht das Generieren der Veröffentlichungseinstellungen. Sie können sie jedoch mithilfe des Veröffentlichungstools in Visual Studio weiterhin in IIS veröffentlichen.

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.

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

    Install IIS Management Scripts and Tools

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

  2. Laden Sie Web Deploy 4.0 auf Windows Server herunter.

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

    Screenshot showing Web Deploy 4.0 components

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

    Configure Web Deploy configuration

    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/"
        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.

    Choose Publish

  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.

    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.

    Edit settings in the Publish tool

Nachdem die App erfolgreich bereitgestellt wurde, sollte sie automatisch gestartet werden.

Häufige Probleme

Überprüfen Sie zunächst die Statusinformationen im Fenster „Ausgabe“ in Visual Studio und anschließend die Fehlermeldungen. Zusätzlich:

  • 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 in IIS 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 die *.pubxml-Datei in Ihrem Projekt bearbeiten und das folgende Element hinzufügen: <AllowUntrustedCertificate>true</AllowUntrustedCertificate>. Diese Einstellung ist nur für Tests vorgesehen.
  • Wenn die App nicht aus Visual Studio gestartet wird, starten Sie die App in IIS, um zu bestätigen, dass sie ordnungsgemäß bereitgestellt ist.