Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
von Scott Mitchell
Visual Studio enthält Tools zum Bereitstellen einer Website. Weitere Informationen zu diesen Tools finden Sie in diesem Lernprogramm.
Einführung
Im vorherigen Lernprogramm wurde erläutert, wie Sie eine einfache ASP.NET Webanwendung für einen Webhostanbieter bereitstellen. Im Lernprogramm wurde insbesondere 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 erleichtern. In diesem Lernprogramm werden zwei dieser Tools untersucht: das Tool "Website kopieren", in dem Sie Dateien mithilfe von FTP- oder FrontPage-Servererweiterungen auf einen 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 verpacken die Inhalte und Konfigurationsinformationen einer Website in eine einzelne MSI-Datei. Diese Option ist am nützlichsten für Websites, die in einem Intranet oder für Unternehmen bereitgestellt werden, die eine vorinstallierte Webanwendung verkaufen, die Kunden auf ihren eigenen Webservern installieren. Das Web Deployment Projects Add-In ist ein Visual Studio-Add-In, das das Angeben von Konfigurationsunterschieden zwischen Builds für Entwicklungsumgebungen und Produktionsumgebungen ermöglicht. Websetupprojekte werden in dieser Lernprogrammreihe nicht behandelt; Webbereitstellungsprojekte werden im Lernprogramm "Allgemeine Konfigurationsunterschiede zwischen Entwicklung und Produktion" zusammengefasst.
Bereitstellen Ihrer Website mit dem Werkzeug zum Kopieren von Webseiten
Das Tool "Website kopieren" von Visual Studio ähnelt der Funktionalität eines eigenständigen FTP-Clients. 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 der rechte Bereich diese Dateien auf dem Zielserver auflistet.
Hinweis
Das Tool "Website kopieren" ist nur für Websiteprojekte verfügbar. Visual Studio bietet dieses Tool an, wenn Sie mit einem Webanwendungsprojekt arbeiten.
Lassen Sie uns einen Blick auf die Verwendung des Tools "Copy Web Site" werfen, um die Book Review-Anwendung in die Produktionsumgebung zu veröffentlichen. Da das Tool "Website kopieren" nur mit Projekten funktioniert, die das Projektmodell der Website verwenden, können wir dieses Tool nur mit dem BookReviewsWSP-Projekt untersuchen. Öffnen Sie dieses 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 kopieren" die Option "Website kopieren" auswählen. Bei beiden Ansätzen wird die Benutzeroberfläche "Website kopieren" in Abbildung 1 gestartet; nur der linke Bereich in Abbildung 1 wird aufgefüllt, da noch keine Verbindung mit einem Remoteserver hergestellt werden muss.
Die Benutzeroberfläche des Tools zum Kopieren von Websites ist in zwei Fenster unterteilt.
Abbildung 1: Die Benutzeroberfläche des Tools 'Website kopieren' ist in zwei Bereiche gegliedert (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 Dialogfeld "Website öffnen" in Abbildung 2 angezeigt.
Sie können eine Verbindung mit der Zielwebsite herstellen, indem Sie eine der vier Optionen von links auswählen:
- Dateisystem – Wählen Sie diese Option aus, um Ihre Website in einem Ordner oder einer Netzwerkfreigabe bereitzustellen, auf die von Ihrem Computer zugegriffen werden kann.
- Lokales IIS – Verwenden Sie diese Option, um die Website auf dem AUF Ihrem Computer installierten IIS-Webserver bereitzustellen.
- FTP-Site – Herstellen einer Verbindung mit einer Remotewebsite mithilfe von FTP.
- Remotewebsite – Stellen Sie mithilfe von FrontPage-Servererweiterungen eine Verbindung mit einer Remotewebsite her.
Die meisten Webhostanbieter unterstützen FTP, bieten jedoch weniger FrontPage Server Extension-Unterstützung an. Aus diesem Grund habe ich die FTP-Site-Option 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 "Kopieren von Websites-Tool" die Dateien auf der Remote-Website im rechten Fensterbereich und gibt den Status jeder Datei an: "Neu", "Gelöscht", "Geändert" oder "Unverändert". Sie können eine Datei von der lokalen Website auf die Remotewebsite kopieren oder umgekehrt.
Fügen wir dem BookReviewsWSP-Projekt eine neue Seite hinzu und stellen sie dann bereit, damit das Tool "Website kopieren" in Aktion angezeigt wird. Erstellen Sie eine neue ASP.NET Seite in Visual Studio im Stammverzeichnis namens Privacy.aspx. Lassen Sie die Seite die Masterseite 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 "Stammordner der Website" (Klicken Sie hier, um das Bild mit voller Größe anzuzeigen)
Kehren Sie als Nächstes zur Benutzeroberfläche von 'Webseite 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 einem Status "Neu" gekennzeichnet, der angibt, dass sie auf der lokalen Website, aber nicht auf der Remotewebsite vorhanden sind.
Abbildung 4: Das Tool "Website kopieren" enthält die neue Privacy.aspx Seite im linken Bereich (Klicken Sie hier, um das Bild mit voller Größe anzuzeigen)
Um die neuen Dateien bereitzustellen, wählen Sie sie aus, und klicken Sie dann auf das Pfeilsymbol, um sie an die Remotewebsite zu übertragen. Nach Abschluss der Übertragung sind die Policy.aspx Dateien Policy.aspx.cs sowohl auf den lokalen als auch auf den Remotestandorten mit dem Status "Unverändert" vorhanden.
Zusammen mit dem Auflisten neuer Dateien hebt das Tool "Website kopieren" alle Dateien hervor, die sich zwischen der lokalen und der Remote-Website 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 In Abbildung 5 dargestellt, weist die Privacy.aspx Seite im linken Bereich den Status "Geändert" auf, der angibt, dass sie nicht mehr mit der Remotewebsite synchronisiert ist.
Abbildung 5: Das Tool "Website kopieren" gibt an, dass die Privacy.aspx Seite geändert wurde (Klicken Sie, 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 Privacy.aspx aus dem lokalen Projekt, und aktualisieren Sie das Tool "Website Kopieren". Die Privacy.aspx Dateien Privacy.aspx.cs bleiben im linken Bereich aufgeführt, weisen jedoch den Status "Gelöscht" auf, der angibt, dass sie seit dem letzten Kopiervorgang entfernt wurden.
Veröffentlichen einer Webanwendung
Eine weitere Möglichkeit zum Bereitstellen Ihrer Webanwendung aus 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 bis zur angegebenen Remotewebsite. Wie wir gleich sehen werden, ist die Option "Veröffentlichen" direkter als das Tool "Webseite kopieren". Während Sie mit dem Tool "Website kopieren" die Dateien auf den lokalen und Remotewebsites untersuchen und es Ihnen ermöglichen, einzelne Dateien nach Bedarf hoch- oder herunterzuladen, stellt die Option "Veröffentlichen" die gesamte Webanwendung bereit.
Zusätzlich zum Kopieren aller erforderlichen Dateien an die angegebene Remotewebsite kompiliert die Option "Veröffentlichen" auch die Anwendung explizit. Da Webanwendungsprojekte explizit kompiliert werden müssen, sollte sie nicht überrascht sein, dass die Option "Veröffentlichen" für Webanwendungsprojekte verfügbar ist. Was ein bisschen überraschend sein kann, ist, dass die Option "Veröffentlichen" auch für Websiteprojekte verfügbar ist. Wie im Lernprogramm " Bestimmen, welche Dateien bereitgestellt werden müssen " erwähnt, können Websiteprojekte explizit über einen Prozess kompiliert werden, der als Vorabkompilierung bezeichnet wird. Dieses Lernprogramm konzentriert sich auf die Verwendung der Option "Veröffentlichen" mit Webanwendungsprojekten; Ein zukünftiges Lernprogramm wird die Vorabkompilierung untersuchen, an welcher Stelle wir zurückkehren, um die Option "Veröffentlichen" mit Websiteprojekten zu verwenden.
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.
Sehen wir uns die Bereitstellung der Anwendung "Buchüberprüfungen" 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, in dem unter anderem der Benutzer zur Angabe des Zielspeicherorts sowie weiterer Konfigurationsoptionen aufgefordert wird (siehe Abbildung 6). Ähnlich wie beim Tool "Website kopieren" können Sie einen Speicherort eingeben, der auf einen lokalen Ordner verweist, eine lokale Website auf IIS, eine Remotewebsite, die FrontPage-Servererweiterungen oder eine FTP-Serveradresse unterstützt. Sie können auswählen, ob die Dateien auf dem Remotewebserver durch die bereitgestellten Dateien ersetzt werden sollen oder ob alle Inhalte auf der Remotewebsite vor der Veröffentlichung gelöscht werden sollen. Sie können auch angeben, ob kopiert werden soll:
- Nur die Dateien im Projekt, die zum Ausführen der Anwendung erforderlich sind, wobei der nicht benötigte Quellcode und projektbezogene Dateien weggelassen werden.
- Alle Projektdateien, einschließlich der Quellcodedateien und Visual Studio-Projektdateien wie die Lösungsdatei.
- Alle Dateien im Quellprojektordner, die alle Dateien im Quellprojektordner kopiert, unabhängig davon, ob sie im Projekt enthalten sind.
Es gibt auch eine Option zum Hochladen des Inhalts des App_Data Ordners.
Abbildung 6: Angeben der Zielwebsite (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Für die BookReview-Anwendung enthält die Remotewebsite die Dateien, die beim Kopieren des BookReviewsWSP-Projekts mit dem Tool "Website kopieren" bereitgestellt werden. Daher soll die Option "Veröffentlichen" damit beginnen, alle vorhandenen Inhalte zu löschen. Außerdem kopieren wir einfach die erforderlichen Dateien, anstatt die Produktionsumgebung mit nicht benötigten Quellcode- und Projektdateien zu überladen. Klicken Sie nach dem Angeben dieser Optionen 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 mit voller Größe anzuzeigen)
Die Option "Veröffentlichen" ist ein weniger differenziertes Tool als das Tool "Website kopieren". Das Tool "Website kopieren" ermöglicht es Ihnen, die Dateien auf den lokalen und Remotewebsites zu prüfen und zu sehen, wie sie sich unterscheiden, die Option "Veröffentlichen" bietet jedoch 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 feinkörnige Kontrolle nicht zu; Stattdessen veröffentlicht sie die gesamte Anwendung. Dieses Verhalten hat seine Vor- und Nachteile. Auf der Plusseite wissen Sie, wenn Sie die Option "Veröffentlichen" verwenden, vergessen Sie nicht, eine wichtige Datei hochzuladen. Berücksichtigen 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 Seite oder zwei, die geändert wurde, nicht aktualisieren. Stattdessen müssen Sie warten, während Visual Studio die gesamte Website bereitstellt.
Es ist nicht ungewöhnlich, dass bestimmte Dateien vorhanden sind, deren Inhalt sich zwischen produktions- und Entwicklungsumgebungen unterscheidet. Ein wichtiges Beispiel 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 Lernprogramm untersucht dieses Thema weiter und bietet Tipps für die Bereitstellung einer Webanwendung, wenn solche Unterschiede vorhanden sind.
Zusammenfassung
Die Bereitstellung einer Website umfasst das Kopieren der erforderlichen Dateien aus der Entwicklungsumgebung in die Produktionsumgebung. Im vorherigen Lernprogramm wurde gezeigt, wie Dateien mit einem FTP-Client wie FileZilla übertragen werden. In diesem Lernprogramm wurden zwei Bereitstellungstools in Visual Studio untersucht: das Tool "Website kopieren" und die Option "Veröffentlichen". Das Tool "Website kopieren" ähnelt einem FTP-Client, in dem es über eine zweiseitige Schnittstelle verfügt, auf der die Dateien auf dem lokalen Computer und ein angegebener Remotecomputer aufgelistet sind, der das Hochladen oder Herunterladen von Dateien zwischen den beiden Computern erleichtert. Die Option "Veröffentlichen" ist ein weicheres Tool, das das Projekt explizit kompiliert und dann die gesamte Anwendung am angegebenen Ziel bereitstellt.
Glückliche Programmierung!
Weiterführende Lektüre
Weitere Informationen zu den in diesem Lernprogramm erläuterten Themen finden Sie in den folgenden Ressourcen: