Bereitstellen einer Website mithilfe von Visual Studio (C#)
von Scott Mitchell
Visual Studio enthält Tools zum Bereitstellen einer Website. Weitere Informationen zu diesen Tools finden Sie in diesem Tutorial.
Einführung
Im vorherigen Tutorial wurde erläutert, wie Sie eine einfache ASP.NET-Webanwendung für einen Webhostanbieter bereitstellen. Insbesondere wurde im Tutorial gezeigt, wie Sie einen FTP-Client wie FileZilla verwenden, um die erforderlichen Dateien aus der Entwicklungsumgebung in die Produktionsumgebung zu übertragen. Visual Studio bietet auch integrierte Tools, um die Bereitstellung für einen Webhostanbieter zu vereinfachen. In diesem Tutorial werden zwei dieser Tools untersucht: das Tool Zum Kopieren von Websites, mit dem Sie Dateien mithilfe von FTP oder FrontPage-Servererweiterungen zu und von einem Remotewebserver verschieben können. und das Veröffentlichungstool, das die gesamte Website an einen angegebenen Speicherort kopiert.
Hinweis
Ein weiteres bereitstellungsbezogenes Tool, das von Visual Studio angeboten wird, ist das Add-In für Websetupprojekte . Websetupprojekte packen den Inhalt und die Konfigurationsinformationen einer Website in einer einzelnen MSI-Datei. Diese Option ist besonders nützlich für Websites, die in einem Intranet bereitgestellt werden, oder für Unternehmen, die eine vorgefertigte Webanwendung verkaufen, die Kunden auf ihren eigenen Webservern installieren. Die web deployment projects Add-In ist eine Visual Studio-Add-In, die die Angabe von Konfigurationsunterschieden zwischen Builds für Entwicklungsumgebungen und Produktionsumgebungen erleichtert. Websetupprojekte werden in dieser Tutorialreihe nicht behandelt. Webbereitstellungsprojekte werden im Tutorial Allgemeine Konfigurationsunterschiede zwischen Entwicklung und Produktion zusammengefasst.
Bereitstellen Ihrer Website mithilfe des Tools zum Kopieren von Websites
Das Tool "Website kopieren" von Visual Studio ähnelt in seiner Funktionalität einem eigenständigen FTP-Client. Kurz gesagt: Mit dem Tool Website kopieren können Sie über FTP oder FrontPage-Servererweiterungen eine Verbindung mit einer Remotewebsite herstellen. Ähnlich wie die Benutzeroberfläche von FileZilla besteht die Benutzeroberfläche website kopieren aus zwei Bereichen: Im linken Bereich werden die lokalen Dateien aufgelistet, während im rechten Bereich diese Dateien auf dem Zielserver aufgelistet werden.
Hinweis
Das Tool Website kopieren ist nur für Websiteprojekte verfügbar. Visual Studio bietet dieses Tool, wenn Sie mit einem Webanwendungsprojekt arbeiten.
Sehen wir uns die Verwendung des Tools "Website kopieren" an, um die Book Review-Anwendung in der Produktion zu veröffentlichen. Da das Tool Website kopieren nur mit Projekten funktioniert, die das Websiteprojektmodell verwenden, können wir dieses Tool nur mit dem BookReviewsWSP-Projekt untersuchen. Öffnen Sie das Projekt.
Starten Sie das Toolprojekt Website kopieren, indem Sie im Projektmappen-Explorer auf das Symbol Website kopieren klicken (dieses Symbol ist in Abbildung 1 eingekreist). Alternativ können Sie im Menü Website die Option Website kopieren auswählen. Bei beiden Ansätzen wird die in Abbildung 1 gezeigte Benutzeroberfläche zum Kopieren von Websites gestartet. nur der linke Bereich in Abbildung 1 wird aufgefüllt, da noch keine Verbindung mit einem Remoteserver hergestellt werden muss.
Abbildung 1: Die Benutzeroberfläche des Kopierwebtools ist in zwei Bereiche unterteilt (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Um unsere Website bereitzustellen, müssen wir zuerst eine Verbindung mit dem Webhostanbieter herstellen. Klicken Sie oben auf der Benutzeroberfläche Website kopieren auf die Schaltfläche Verbinden. Dadurch wird das In Abbildung 2 gezeigte Dialogfeld Website öffnen angezeigt.
Sie können eine Verbindung mit der Zielwebsite herstellen, indem Sie eine der vier Optionen auf der linken Seite auswählen:
- Dateisystem : Wählen Sie diese Option aus, um Ihren Standort in einem Ordner oder einer Netzwerkfreigabe bereitzustellen, auf die von Ihrem Computer aus zugegriffen werden kann.
- Lokaler IIS : Verwenden Sie diese Option, um die Website auf dem IIS-Webserver bereitzustellen, der auf Ihrem Computer installiert ist.
- FTP-Website : Stellen Sie mithilfe von FTP eine Verbindung mit einer Remotewebsite her.
- Remotestandort : Stellen Sie mithilfe von FrontPage-Servererweiterungen eine Verbindung mit einer Remotewebsite her.
Die meisten Webhostanbieter unterstützen FTP, aber weniger FrontPage-Servererweiterungen. Aus diesem Grund habe ich die Option FTP-Standort ausgewählt und dann die Verbindungsinformationen wie in Abbildung 2 dargestellt eingegeben.
Abbildung 2: Angeben der Zielwebsite (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Nachdem Sie eine Verbindung hergestellt haben, lädt das Tool Website kopieren die Dateien an der Remotewebsite im rechten Bereich und gibt die status jeder Datei an: Neu, Gelöscht, Geändert oder Unverändert. Sie können eine Datei von der lokalen Website auf den Remotestandort oder umgekehrt kopieren.
Fügen Wir dem BookReviewsWSP-Projekt eine neue Seite hinzu und stellen sie dann bereit, damit wir das Tool Website kopieren in Aktion sehen können. Erstellen Sie eine neue ASP.NET Seite in Visual Studio im Stammverzeichnis mit dem Namen Privacy.aspx
. Lassen Sie die Seite die master Seite Site.master
verwenden, und fügen Sie der Seite die Datenschutzrichtlinie Ihrer Website hinzu. Abbildung 3 zeigt Visual Studio, nachdem diese Seite erstellt wurde.
Abbildung 3: Hinzufügen einer neuen Seite namens Privacy.aspx
zum Stammordner der Website (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Kehren Sie als Nächstes zur Benutzeroberfläche Website kopieren zurück. Wie in Abbildung 4 dargestellt, enthält der linke Bereich jetzt die neuen Dateien – Policy.aspx
und Policy.aspx.cs
. Darüber hinaus werden diese Dateien mit einem Pfeilsymbol und dem Status Neu gekennzeichnet, was angibt, dass sie auf der lokalen Website, aber nicht auf der Remotewebsite vorhanden sind.
Abbildung 4: Das Tool zum Kopieren von Websites schließt die neue Privacy.aspx
Seite in den linken Bereich ein (klicken, um das Bild in voller Größe anzuzeigen)
Um die neuen Dateien bereitzustellen, wählen Sie sie aus, und klicken Sie dann auf das Pfeilsymbol, um sie auf den Remotestandort zu übertragen. Nach Abschluss der Übertragung sind die Policy.aspx
Dateien und Policy.aspx.cs
auf den lokalen und Remotestandorten mit dem status Unverändert vorhanden.
Neben dem Auflisten neuer Dateien hebt das Tool Website kopieren alle Dateien hervor, die sich zwischen lokalen und Remotewebsites unterscheiden. Um dies in Aktion zu sehen, kehren Sie zur Privacy.aspx
Seite zurück, und fügen Sie der Datenschutzrichtlinie ein paar weitere Wörter hinzu. Speichern Sie die Seite, und kehren Sie dann zum Tool Website kopieren zurück. Wie abbildung 5 zeigt, weist die Privacy.aspx
Seite im linken Bereich die status Geändert auf, die angibt, dass sie nicht mit der Remotewebsite synchronisiert ist.
Abbildung 5: Das Tool zum Kopieren von Websites zeigt an, dass die Privacy.aspx
Seite geändert wurde (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Das Tool Website kopieren gibt auch an, ob eine Datei seit dem letzten Kopiervorgang gelöscht wurde. Löschen Sie aus Privacy.aspx
dem lokalen Projekt, und aktualisieren Sie das Tool Website kopieren. Die Privacy.aspx
Dateien und Privacy.aspx.cs
bleiben im linken Bereich aufgeführt, verfügen jedoch über eine gelöschte status, die angibt, dass sie seit dem letzten Kopiervorgang entfernt wurden.
Veröffentlichen einer Webanwendung
Eine weitere Möglichkeit zum Bereitstellen Ihrer Webanwendung in Visual Studio besteht darin, die Option Veröffentlichen zu verwenden, auf die über das Menü Erstellen zugegriffen werden kann. Die Option Veröffentlichen kompiliert die Anwendung explizit und kopiert dann alle erforderlichen Dateien an die angegebene Remotewebsite. Wie wir in Kürze sehen werden, ist die Option Veröffentlichen unverblümter als das Tool Website kopieren. Während Sie mit dem Tool Website kopieren die Dateien auf den lokalen und Remotewebsites untersuchen und einzelne Dateien nach Bedarf hochladen oder herunterladen können, stellt die Option Veröffentlichen die gesamte Webanwendung bereit.
Zusätzlich zum Kopieren aller erforderlichen Dateien auf die angegebene Remotewebsite wird die Anwendung mit der Option Veröffentlichen explizit kompiliert. Angesichts der Tatsache, dass Webanwendungsprojekte explizit kompiliert werden müssen, sollte es nicht überraschen, dass die Option Veröffentlichen für Webanwendungsprojekte verfügbar ist. Was vielleicht etwas überraschend ist, ist, dass die Option Veröffentlichen auch für Websiteprojekte verfügbar ist. Wie im Tutorial Ermitteln, welche Dateien bereitgestellt werden müssen , können Websiteprojekte explizit über einen Prozess kompiliert werden, der als Vorkompilierung bezeichnet wird. Dieses Tutorial konzentriert sich auf die Verwendung der Option Veröffentlichen mit Webanwendungsprojekten. In einem zukünftigen Tutorial wird die Vorkompilierung untersucht. An diesem Punkt kehren wir zurück, um die Verwendung der Option Veröffentlichen mit Websiteprojekten zu untersuchen.
Hinweis
Während die Option Veröffentlichen in Visual Studio sowohl für Websiteprojekte als auch für Webanwendungsprojekte verfügbar ist, bietet Visual Web Developer nur die Option Veröffentlichen für Webanwendungsprojekte an.
Sehen wir uns die Bereitstellung der Buchprüfungsanwendung mithilfe der Option Veröffentlichen an. Öffnen Sie zunächst BookReviewsWAP (das Webanwendungsprojekt) in Visual Studio. Wählen Sie im Menü Veröffentlichen das Projekt BookReviewsWAP erstellen aus. Dadurch wird ein Dialogfeld angezeigt, das neben anderen Konfigurationsoptionen zur Eingabe des Zielspeicherorts auffordert (siehe Abbildung 6). Ähnlich wie mit dem Tool Website kopieren können Sie einen Speicherort eingeben, der auf einen lokalen Ordner, eine lokale Website in IIS, eine Remotewebsite, die FrontPage-Servererweiterungen unterstützt, oder eine FTP-Serveradresse. Sie können auswählen, ob die Dateien auf dem Remotewebserver durch die bereitgestellten Dateien ersetzt werden sollen oder ob der gesamte Inhalt auf der Remotewebsite vor der Veröffentlichung gelöscht werden soll. Sie können auch angeben, ob Folgendes kopiert werden soll:
- Nur die Dateien im Projekt, die zum Ausführen der Anwendung erforderlich sind, wobei der nicht benötigte Quellcode und die projektbezogenen Dateien weggelassen werden.
- Alle Projektdateien, einschließlich der Quellcodedateien und Visual Studio-Projektdateien wie der Projektmappendatei.
- Alle Dateien im Quellprojektordner, der alle Dateien im Quellprojektordner kopiert, unabhängig davon, ob sie im Projekt enthalten sind.
Es gibt auch eine Option zum Hochladen des Inhalts des Ordners App_Data
.
Abbildung 6: Angeben der Zielwebsite (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Für die Buchprüfungsanwendung enthält die Remotewebsite die Dateien, die beim Kopieren des BookReviewsWSP-Projekts über das Tool Website kopieren bereitgestellt werden. Daher beginnen wir mit der Option Veröffentlichen, indem alle vorhandenen Inhalte gelöscht werden. Außerdem kopieren wir einfach die erforderlichen Dateien, anstatt die Produktionsumgebung mit nicht benötigtem Quellcode und Projektdateien zu überladen. Nachdem Sie diese Optionen angegeben haben, klicken Sie auf die Schaltfläche Veröffentlichen. In den nächsten Sekunden stellt Visual Studio die erforderlichen Dateien auf der Zielwebsite bereit und zeigt den Fortschritt im Ausgabefenster an.
Abbildung 7 zeigt die Dateien auf der FTP-Website, nachdem der Veröffentlichungsvorgang abgeschlossen wurde. Beachten Sie, dass nur die Markupseiten und die erforderlichen server- und clientseitigen Supportdateien hochgeladen wurden.
Abbildung 7: Nur die erforderlichen Dateien wurden in der Produktionsumgebung veröffentlicht (Klicken Sie hier, um das bild in voller Größe anzuzeigen)
Die Option Veröffentlichen ist ein weniger nuanciertes Tool als das Tool Website kopieren. Während Sie mit dem Tool Website kopieren die Dateien auf den lokalen und Remotestandorten überprüfen und feststellen können, wie sie sich unterscheiden, bietet die Option Veröffentlichen keine solche Schnittstelle. Darüber hinaus können Sie mit dem Tool Website kopieren einmalige Änderungen vornehmen, einzelne Dateien hochladen oder löschen. Die Option Veröffentlichen lässt eine solche fein abgestufte Steuerung nicht zu. stattdessen wird die gesamte Anwendung veröffentlicht. Dieses Verhalten hat seine Vor- und Nachteile. Auf der positiven Seite wissen Sie, dass Sie bei verwendung der Option Veröffentlichen nicht vergessen werden, eine wichtige Datei hochzuladen. Überlegen Sie jedoch, was passiert, wenn Sie eine kleine Änderung an einer sehr großen Website vorgenommen haben. Mit der Option Veröffentlichen können Sie diese oder zwei Seiten, die geändert wurden, nicht aktualisieren, sondern müssen stattdessen warten, während Visual Studio die gesamte Website bereitstellt.
Es ist nicht ungewöhnlich, dass bestimmte Dateien vorhanden sind, deren Inhalt sich zwischen den Produktions- und Entwicklungsumgebungen unterscheidet. Ein Schlüsselbeispiel ist die Konfigurationsdatei der Anwendung. Web.config
Da die Option Veröffentlichen die Webanwendungsdateien blind kopiert, überschreibt sie die angepassten Konfigurationsdateien der Produktionsumgebung mit der Version in der Entwicklungsumgebung. Das folgende Tutorial untersucht dieses Thema weiter und bietet Tipps zum Bereitstellen einer Webanwendung, wenn solche Unterschiede bestehen.
Zusammenfassung
Die Bereitstellung einer Website beinhaltet das Kopieren der erforderlichen Dateien aus der Entwicklungsumgebung in die Produktionsumgebung. Im vorherigen Tutorial wurde gezeigt, wie Dateien mit einem FTP-Client wie FileZilla übertragen werden. In diesem Tutorial wurden zwei Bereitstellungstools in Visual Studio untersucht: das Tool Website kopieren und die Option Veröffentlichen. Das Tool Website kopieren ähnelt einem FTP-Client, da es über eine zweiseitige Schnittstelle mit den Dateien auf dem lokalen Computer und einem angegebenen Remotecomputer verfügt, der das Hochladen oder Herunterladen von Dateien zwischen den beiden Computern erleichtert. Die Option Veröffentlichen ist ein stumpfes Tool, das das Projekt explizit kompiliert und dann die gesamte Anwendung am angegebenen Ziel bereitstellt.
Viel Spaß beim Programmieren!
Weitere Informationen
Weitere Informationen zu den in diesem Tutorial erläuterten Themen finden Sie in den folgenden Ressourcen: