ASP.NET Webbereitstellung mit Visual Studio: Projekteigenschaften

von Tom Dykstra

Herunterladen des Starterprojekts

In dieser Tutorialreihe erfahren Sie, wie Sie mithilfe von Visual Studio 2012 oder Visual Studio 2010 eine ASP.NET Webanwendung für Azure App Service Web-Apps oder einen Hostinganbieter eines Drittanbieters bereitstellen (veröffentlichen). Informationen zur Reihe finden Sie im ersten Tutorial der Reihe.

Überblick

Einige Bereitstellungsoptionen werden in Projekteigenschaften konfiguriert, die in der Projektdatei ( csproj - oder VBPROJ-Datei ) gespeichert sind. In den meisten Fällen sind die Standardwerte dieser Einstellungen das, was Sie möchten, aber Sie können die in Visual Studio integrierte Benutzeroberfläche für Projekteigenschaften verwenden, um mit diesen Einstellungen zu arbeiten, wenn Sie sie ändern müssen. In diesem Tutorial überprüfen Sie die Bereitstellungseinstellungen in Den Projekteigenschaften. Außerdem erstellen Sie eine Platzhalterdatei, die dazu führt, dass ein leerer Ordner bereitgestellt wird.

Konfigurieren von Bereitstellungseinstellungen im Fenster "Projekteigenschaften"

Die meisten Einstellungen, die sich auf die Vorgänge während der Bereitstellung auswirken, sind im Veröffentlichungsprofil enthalten, wie Sie in den folgenden Tutorials sehen werden. Einige Einstellungen, die Sie beachten sollten, befinden sich auf den Registerkarten Paket/Veröffentlichen des Fensters Projekteigenschaften . Diese Einstellungen werden für jede Buildkonfiguration angegeben. Das heißt, Sie können für einen Releasebuild andere Einstellungen als für einen Debugbuild haben.

Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ContosoUniversity, wählen Sie Eigenschaften und dann die Registerkarte Paket/Web veröffentlichen aus.

Registerkarte

Wenn das Fenster angezeigt wird, werden standardmäßig Einstellungen für die build-Konfiguration angezeigt, die derzeit für die Projektmappe aktiv ist. Wenn im Feld Konfiguration nicht Aktiv (Release) angezeigt wird, wählen Sie Release aus, um Einstellungen für die Konfiguration des Releasebuilds anzuzeigen. Sie stellen Releasebuilds sowohl in Ihrer Test- als auch in der Produktionsumgebung bereit.

Auswählen der Releasebuildkonfiguration

Wenn Aktiv (Release) oder Release ausgewählt ist, werden die Werte angezeigt, die bei der Bereitstellung mithilfe der Releasebuildkonfiguration wirksam sind:

  • Im Feld Zu bereitstellende Elemente ist die Option Nur zum Ausführen der Anwendung erforderliche Dateien ausgewählt. Weitere Optionen sind Alle Dateien in diesem Projekt oder Alle Dateien in diesem Projektordner. Wenn Sie die Standardauswahl unverändert lassen, vermeiden Sie beispielsweise die Bereitstellung von Quellcodedateien. Diese Einstellung ist der Grund, warum die Ordner, die die SQL Server Compact Binärdateien enthalten, in das Projekt eingeschlossen werden mussten. Weitere Informationen zu dieser Einstellung finden Sie unter Warum werden nicht alle Dateien in meinem Projektordner bereitgestellt? in ASP.NET Web Application Project Deployment FAQ.
  • Generierte Debugsymbole ausschließen ist ausgewählt. Sie werden nicht debuggen, wenn Sie diese Buildkonfiguration verwenden.
  • Alle Datenbanken einschließen, die auf der Registerkarte SQL-Paket/SQL veröffentlichen konfiguriert sind, ist ausgewählt. Gibt an, ob Visual Studio Datenbanken und Dateien bereitstellt. Obwohl in der Kontrollkästchenbezeichnung nur die Registerkarte SQL-Paket/SQL veröffentlichen erwähnt wird, würde das Deaktivieren dieses Kontrollkästchens auch die Datenbankbereitstellung deaktivieren, die im Veröffentlichungsprofil konfiguriert ist. Sie werden dies später tun, sodass das Kontrollkästchen aktiviert bleiben muss. Die Registerkarte SQL packen/veröffentlichen wird für eine Legacy-Datenbankveröffentlichungsmethode verwendet, die Sie in diesen Tutorials nicht verwenden werden.
  • Der Abschnitt Webbereitstellungspaketeinstellungen gilt nicht, da Sie die Veröffentlichung mit einem Klick in diesen Tutorials verwenden.

Ändern Sie das Dropdownfeld Konfiguration in Debuggen, um die Standardeinstellungen für Debugbuilds anzuzeigen. Die Werte sind identisch, mit der Ausnahme, dass generierte Debugsymbole ausschließen deaktiviert sind, sodass Sie debuggen können, wenn Sie einen Debugbuild bereitstellen.

Stellen Sie sicher, dass der Elmah-Ordner bereitgestellt wird.

Wie Sie im vorherigen Tutorial gesehen haben, bietet das Elmah NuGet-Paket Funktionen für die Fehlerprotokollierung und -berichterstellung. In der Contoso University-Anwendung wurde Elmah so konfiguriert, dass Fehlerdetails in einem Ordner namens Elmah gespeichert werden:

Ordner

Das Ausschließen bestimmter Dateien oder Ordner von der Bereitstellung ist eine häufige Anforderung. Ein weiteres Beispiel wäre ein Ordner, in den Benutzer Dateien hochladen können. Sie möchten nicht, dass Protokolldateien oder hochgeladene Dateien, die in Ihrer Entwicklungsumgebung erstellt wurden, in der Produktion bereitgestellt werden. Und wenn Sie ein Update in der Produktion bereitstellen, möchten Sie nicht, dass der Bereitstellungsprozess Dateien löscht, die in der Produktion vorhanden sind. (Je nachdem, wie Sie eine Bereitstellungsoption festlegen, löscht Web Deploy sie aus dem Ziel, wenn eine Datei auf der Zielwebsite vorhanden ist, aber nicht am Quellstandort.)

Wie Sie weiter oben in diesem Tutorial gesehen haben, ist die Option Zu bereitstellende Elemente auf der Registerkarte Paket/Web veröffentlichen auf Nur Dateien festgelegt, die zum Ausführen dieser Anwendung erforderlich sind. Daher werden Protokolldateien, die von Elmah in der Entwicklung erstellt werden, nicht bereitgestellt, was Sie möchten. (Um bereitgestellt zu werden, müssten sie in das Projekt aufgenommen werden, und ihre Buildaktionseigenschaft müsste auf Content festgelegt werden. Weitere Informationen finden Sie unter Warum werden nicht alle Dateien in meinem Projektordner bereitgestellt? in ASP.NET Web Application Project Deployment FAQ). Web Deploy erstellt jedoch keinen Ordner auf der Zielwebsite, es sei denn, es gibt mindestens eine Datei zum Kopieren. Daher fügen Sie dem Ordner eine .txt Datei hinzu, die als Platzhalter fungiert, damit der Ordner kopiert wird.

Klicken Sie Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Elmah, wählen Sie Neues Element hinzufügen aus, und erstellen Sie eine Textdatei namens Placeholder.txt. Geben Sie den folgenden Text ein: "Dies ist eine Platzhalterdatei, um sicherzustellen, dass der Ordner bereitgestellt wird." und speichern Sie die Datei. Das ist alles, was Sie tun müssen, um sicherzustellen, dass Visual Studio diese Datei und den Ordner bereitstellt, in dem sie sich befindet, da die Buildaktionseigenschaft von.txt-Dateien standardmäßig auf Content festgelegt ist.

Zusammenfassung

Sie haben nun alle Bereitstellungssetupaufgaben abgeschlossen. Im nächsten Tutorial stellen Sie die Website der Contoso University in der Testumgebung bereit und testen sie dort.