Freigeben über


Bereitstellen einer ASP.NET Webanwendung mit SQL Server Compact mithilfe von Visual Studio oder Visual Web Developer: Konfigurieren von Projekteigenschaften – 4 von 12

von Tom Dykstra

Herunterladen des Starterprojekts

In dieser Reihe von Tutorials erfahren Sie, wie Sie mithilfe von Visual Studio 2012 RC oder Visual Studio Express 2012 RC für Web ein ASP.NET Webanwendungsprojekt bereitstellen (veröffentlichen), das eine SQL Server Compact-Datenbank enthält. Sie können visual Studio 2010 auch verwenden, wenn Sie das Web Publish Update installieren. Eine Einführung in die Reihe finden Sie im ersten Tutorial der Reihe.

Ein Tutorial, das bereitstellungsfeatures zeigt, die nach der RC-Version von Visual Studio 2012 eingeführt wurden, zeigt, wie SQL Server anderen Editionen als SQL Server Compact bereitgestellt werden, und zeigt, wie sie in Azure App Service Web-Apps bereitgestellt werden, finden Sie unter ASP.NET Webbereitstellung mit Visual Studio.

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

Package_Publish_Web_tab

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.

Package_Publish_Web_tab_selecting_Release

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.
  • Ausschließen von Dateien aus dem App_Data Ordner nicht ausgewählt ist. Ihr SQL Server Compact-Datei für die Mitgliedschaftsdatenbank befindet sich in diesem Ordner, und Sie müssen sie bereitstellen. Wenn Sie Updates bereitstellen, die keine Datenbankänderungen enthalten, aktivieren Sie dieses Kontrollkästchen.
  • Diese Anwendung vorkompilieren, bevor die Veröffentlichung nicht ausgewählt ist. In den meisten Szenarien müssen Webanwendungsprojekte nicht vorkompiliert werden. Weitere Informationen zu dieser Option finden Sie unter Webregisterkarte "Paket/Veröffentlichen", "Projekteigenschaften" und Dialogfeld "Erweiterte Vorkompilierungseinstellungen".
  • Alle datenbanken einschließen, die auf der Registerkarte Paket/SQL veröffentlichen konfiguriert sind, ist ausgewählt, aber diese Option hat jetzt keine Auswirkungen, da Sie die Registerkarte Sql-Paket/SQL veröffentlichen nicht konfigurieren. Diese Registerkarte ist für eine Legacy-Datenbankbereitstellungsmethode vorgesehen, die früher die einzige Option zum Bereitstellen SQL Server Datenbanken war. Sie verwenden die Registerkarte SQL-Paket/SQL veröffentlichen im Tutorial Migrieren zu SQL Server.
  • 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.

Sicherstellen, 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 in Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Elmah, wählen Sie Neues Element hinzufügen aus, und erstellen Sie eine Datei 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.

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.