Abrufen von Veröffentlichungseinstellungen aus IIS und Importieren in Visual Studio
Sie können das tool Veröffentlichen verwenden, um Veröffentlichungseinstellungen zu importieren und dann Ihre App bereitzustellen. In diesem Artikel verwenden wir Veröffentlichungseinstellungen für IIS.
Diese Schritte gelten für ASP.NET und ASP.NET Core-Webanwendungen.
Anmerkung
Eine Veröffentlichungseinstellungsdatei (*.publishsettings) unterscheidet sich von einem Veröffentlichungsprofil (*.pubxml). Eine Veröffentlichungseinstellungsdatei wird in IIS erstellt und kann dann in Visual Studio importiert werden. Visual Studio erstellt das Veröffentlichungsprofil.
Voraussetzungen
Visual Studio wurde mit der Arbeitsauslastung „ASP.NET und Webentwicklung“ installiert. Wenn Sie Visual Studio bereits installiert haben:
- Installieren Sie die neuesten Updates in Visual Studio, indem Sie Hilfe>Nach Updates suchen auswählen.
- Fügen Sie die Arbeitsauslastung hinzu, indem Sie Extras>Tools und Features abrufen auswählen.
Auf Ihrem Server müssen Sie Windows Server 2012 oder höher ausführen, und Sie müssen die IIS-Webserverrolle ordnungsgemäß installiert haben (erforderlich, um die Veröffentlichungseinstellungsdatei zu generieren (
.publishsettings
). Entweder ASP.NET 4.5 oder ASP.NET Core muss auch auf dem Server installiert sein. Die Schritte in diesem Lernprogramm wurden in Windows Server 2022 getestet.Informationen zum Einrichten von ASP.NET Core finden Sie unter Host ASP.NET Core unter Windows mit IIS. Stellen Sie für ASP.NET Core sicher, dass der Anwendungspool so konfiguriert ist, dass No Managed Codeeingestellt ist, wie im Artikel beschrieben.
Informationen zum Einrichten von ASP.NET 4.5 finden Sie unter IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5.
Anmerkung
IIS unter Windows unterstützt das Generieren der Veröffentlichungseinstellungen nicht. Sie können jedoch weiterhin mit dem Veröffentlichungstool in Visual Studio in IIS veröffentlichen.
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.22 das Ende des Lebenszyklus 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 Benutzerdefiniert 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 wird ausgeführt (der Dienstname unterscheidet sich in älteren Versionen).
Der 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 überhaupt nicht vorhanden ist, gehen Sie zu Systemsteuerung > Programme > Deinstallieren eines Programmsund suchen Sie nach 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 wählen Sie dann Bereitstellen>Web Deploy-Veröffentlichung konfigurieren aus.
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 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 Elemente 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 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 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 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. Klicken Sie anschließend 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.
Nachdem die App erfolgreich bereitgestellt wurde, sollte sie automatisch gestartet werden.
Häufige Probleme
Überprüfen Sie zunächst das Ausgabefenster in Visual Studio auf Statusinformationen, und überprüfen Sie Ihre Fehlermeldungen. Außerdem:
- 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 in IIS 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, sich zu öffnen, aber eine Zertifikatwarnung angezeigt wird, wählen Sie, der Website zu vertrauen. Wenn Sie die Warnung bereits geschlossen haben, können Sie die Datei *.pubxml in Ihrem Projekt bearbeiten und das folgende Element hinzufügen:
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
. Diese Einstellung ist nur zum Testen vorgesehen! - Wenn die App nicht mit Visual Studio gestartet wird, starten Sie die App in IIS, um zu testen, ob sie ordnungsgemäß bereitgestellt wurde.