Übersicht über die Bereitstellung von Webanwendungsprojekten für Visual Studio und ASP.NET

Dieses Thema enthält eine Übersicht über die Aufgaben, die erforderlich sind, (bereitstellen) ein Visual Studio-Webanwendungsprojekt zu einem Server zu veröffentlichen, auf dem andere auf die Anwendung über das Internet zugreifen können.

Dieses Thema bezieht sich auf die folgenden Produkte zu:

Dieses Thema enthält folgende Abschnitte:

  • Typische Bereitstellungs-Szenarien

  • Grundlegende Bereitstellungsaufgaben

  • Konfigurieren von Datenbankbereitstellung in Visual Studio

  • Andere Bereitstellungsaufgaben

  • Backup-- und Wiederherstellung

Einige der Aufgaben, die hier aufgeführten, gelten nur für Webanwendungsprojekte. Informationen darüber, wie Websiteprojekte, finden Sie unter Einstieg in die Webbereitstellung für Visual Studio und ASP.NET bereitstellt.

Typische Bereitstellungs-Szenarien

Sie können ein Webanwendungsprojekt bereitstellen, indem Sie die One-Click-Veröffentlichung oder ein Bereitstellungspaket verwenden:

  • One-Click-Veröffentlichung verweist auf eine Funktion in Visual Studio an, das Sie direkt von der Visual Studio-IDE bereitstellen können, indem Sie auf eine Schaltfläche klickt. Visual Studio stellt auf einen Zielserver an, kopiert Projektdateien darauf und andere Bereitstellungsaufgaben aus.

  • Ein Webbereitstellungspaket ist eine ZIP-Datei, die alle Informationen enthält, die für die Bereitstellung erforderlich sind. Sie erstellen das Paket über die Befehlszeile oder in Visual Studio, und installieren Sie es auf dem Zielserver, indem Sie die Befehlszeile oder den IIS-Manager verwenden.

Welche der Methoden Sie verwenden, hängt von Ihrem Szenario und von Ihrer persönlichen Einstellung ab. One-Click-Veröffentlichung ist in der Regel die beste Wahl für kleinere Unternehmen, die keinen Entwicklungsprozess der fortlaufenden Integration (CI) implementieren. Sie können in der Regel zu einem Hostinganbieter bereitstellen, auf dem die Anwendung entweder in einer freigegebenen Hostumgebung oder auf einem dedizierten Server ausgeführt wird. (In einer freigegebenen Hostumgebungen, wird ein einzelner Server verwendet, um Sites für mehrere Hostinganbieterclienten zu hosten.)

Typische Bereitstellungsszenarios für das Drittanbieterhosting

In einer Unternehmensumgebung werden Anwendungen in der Regel auf den Servern des eigenen Unternehmens bereit, die wiederum mit dem Internet verbunden sind, und implementieren Sie in der Regel einen CI-Prozess. Die Anwendung wird von Test- und Stagingumgebung erweitert, bevor sie in der Produktionsumgebung bereitgestellt wird. In diesen Szenarien können Sie One-Click-Veröffentlichung verwenden, um in einer Testumgebung bereitstellen, aber für die Fortschritt durch andere Umgebung zur Produktion, würde ein Bereitstellungspaket normalerweise verwendet. Bereitstellungspakete sind besser für Unternehmensszenarien, da sie in den CI-Prozess integriert werden können, indem sie die Befehlszeile verwenden, um die Pakete zu erstellen und zu installieren.

Typische Szenarios für die Webbereitstellung im Unternehmen

gelten das Hosting von Drittanbietern und die Unternehmensszenarien auch zu, wenn Sie die Webanwendung in der Cloud hosten, indem Sie verwenden Windows Azure. In Windows Azure kann die Anwendung in einer freigegebenen Hostumgebung oder auf dedizierte virtuelle Computer ausgeführt werden.

Grundlegende Bereitstellungsaufgaben

Im Folgenden sind die grundlegenden Aufgaben, die Sie ausführen müssen, um bei einem Hostinganbieter (Drittanbieter) bereitzustellen:

  1. Installieren Sie ein Konto mit einem Hostinganbieter.

    Informationen zum Hostinganbieter, die automatisierte Bereitstellung von Visual Studio unterstützen, finden Sie unter ASP.NET Hosten. Stellen Sie sicher, dass Sie einen Anbieter aus, der die Version von ASP.NET unterstützt, die das Webprojekt abzielt.

  2. Erstellen Sie ein Veröffentlichungsprofil.

    Ein Veröffentlichungsprofil gibt den Server, den Sie für bereitstellen, die Anmeldeinformationen für die Anmeldung an bereitzustellen, an den Server, Datenbanken und andere Optionen. Der Hostinganbieter sendet Sie die Einstellungen, die Sie für das Veröffentlichungsprofil benötigen, entweder in einer E-Mail-Nachricht oder in einer Datei, die Sie in Visual Studio importieren können.

  3. Starten Sie den Bereitstellungsprozess, indem Sie auf die One-Click-Veröffentlichungs-Schaltfläche klicken.

    Die Schaltfläche Veröffentlichen ist im Assistenten Web veröffentlichen, den Sie verwenden, um Veröffentlichungsprofile zu erstellen. Sie ist auch in der Symbolleiste Webveröffentlichung mit einem Klick verfügbar, die Sie im Ansicht-Menü Symbolleisten in Visual Studio auswählen können.

Allgemeine Hilfe zu diesem Prozess, finden Sie unter Gewusst wie: Bereitstellen eines Webanwendungsprojekts mit der One-Click-Veröffentlichung in Visual Studio. Für ein 12 teiliges Lernprogramm, das Sie durch ein aufeinander folgende Szenario für die Bereitstellung von Visual Studio führt, finden Bereitstellung auf einem Hosting-Anbieter Sie auf der ASP.NET-Site.

Hinweis

Standardmäßig erstellt Visual Studio 2012 Webprojekte, die ASP.NET 4.5 abzielen.Wenn Sie ein ASP.NET 4.5-Projekt zu einem Hostinganbieter bereitstellen, der nicht ASP.NET 4.5 unterstützt, wird die Anwendung nicht ausgeführt.Um den Fehler zu beheben, müssen Sie die alle Anwendungsdateien entfernen die auf dem Server bereitgestellt wurden.Weitere Informationen finden Sie unter Bereitstellung auf einem Hosting-Anbieter: Problembehandlung.

Für Unternehmensbereitstellungsszenarien finden Sie die Bereitstellen von Webanwendungen in Unternehmensszenarien Referenten-Reihe auf der ASP.NET-Site. Die Unternehmensbereitstellungslernprogramme wurden für Visual Studio 2010 geschrieben und noch nicht für Visual Studio 2012 aktualisiert.

Konfigurieren von Datenbankbereitstellung in Visual Studio

Visual Studio bietet drei Methoden der automatisierten Datenbankbereitstellung an:

  1. Entity Framework Code First-Migrationen

  2. Der dbDacFx Web Deploy-Anbieter

  3. Der dbFullSql Web Deploy-Anbieter

Diese drei Methoden können nur verwendet werden, wenn Sie die Web Deploy-Veröffentlichungsmethode auswählen. Wenn Sie eine andere Veröffentlichungsmethode, wie FTP, Dateisystem oder FPSE verwenden, müssen Sie die Datenbankbereitstellung außerhalb von Visual Studio behandeln. Siehe die folgenden Ressourcen zu Informationen dazu, wie SQL Server-Datenbanken manuell bereitstellt:

Dd394698.collapse_all(de-de,VS.110).gifEntity Framework Code First-Migrationen

In der Entity Framework 4.3, bietet Microsoft Code First-Migrationen vor. Code First-Migrationen automatisiert den Prozess zum Durchführen von inkrementellen Änderungen an einem Datenmodell und des Weitergebens dieser Änderungen an der Datenbank. In früheren Versionen von Code First, lassen Sie die Entity Framework-Ablage und erstellen die Datenbank neu, wenn Sie das Datenmodell geändert haben. Dies ist kein Problem bei der Entwicklung, da Testdaten problemlos neu erstellt werden, aber in der Produktion möchten Sie normalerweise das Datenbankschema aktualisieren, ohne die Datenbank abzulegen. Die Migrationsfunktion aktiviert Code First, um die Datenbank zu aktualisieren, ohne sie abzulegen und neu zu erstellen. Sie können Code First entscheiden automatisch haben, wie die erforderlichen Schemaänderungen vornehmen, oder Sie können Code schreiben, der die Änderungen anpassen. Eine Einführung in den Code First-Migrationen, finden Sie unter Code First-Migrationen.

Visual Studio kann den das Bereitstellen einer Datenbank automatisieren, die von Code First-Migrationen verwaltet wird. Wenn Sie das Veröffentlichungsprofil konfigurieren, wählen Sie ein Kontrollkästchen mit der Bezeichnung Code First-Migrationen ausführen (wird bei Anwendungsstart ausgeführt):

Publish_Web_Settings_tab_with_cf_database_high

Dieses Kontrollkästchen wird für Datenbanken dass die Anwendungszugriffe angezeigt, indem eine Kontextklasse Entity Framework Code First verwendet. Wenn Sie diese Option auswählen, konfiguriert der Bereitstellungsprozess automatisch die Datei Web.config der Anwendung auf dem Zielserver, damit Code First die MigrateDatabaseToLatestVersion Initialisiererklasse verwendet. Die folgende Abbildung zeigt ein Beispiel dafür, wie diese Einstellung in der Datei Web.config aussieht:

MigrateDatabaseToLatestVersion in Web.config

Die Option Code First-Migrationen ausführen bewirkt auch den Bereitstellungsprozess, eine zusätzliche Verbindungszeichenfolge in die Web.config-Zieldatei einzufügen:

DatabasePublish-Verbindungszeichenfolge in Web.config

Code First verwendet diese zusätzliche Verbindungszeichenfolge zum Durchführen der Datenbankschemaänderungen. Diese Verbindungszeichenfolge muss Benutzeranmeldeinformationen angeben, die Administratoren Zugriff auf die Datenbank verfügen. Da Code First eine separate Verbindungszeichenfolge für Schemaupdates verwendet, können Sie Anmeldeinformationen angeben, die Berechtigungen in der Anwendungsverbindungszeichenfolge eingeschränkt ist. Weitere Informationen finden Sie unter Überprüfung der automatischen Web.config-Änderungen für Code First-Migrationen auf der ASP.NET-Site.

Visual Studio hat keine mit der Datenbank während des Bereitstellungsprozesses. Wenn die bereitgestellten Anwendung auf die Datenbank zum ersten Mal nach Bereitstellung zugreift, erstellt Code First automatisch die Datenbank oder aktualisiert das Datenbankschema zur letzten Version. Wenn die Anwendung eine Migrations-Seed-Methode implementiert, wird die Methode ausgeführt, nachdem die Datenbank erstellt wurde, oder das Schema aktualisiert wird.

Informationen dazu, wie Code First-Migrations-Bereitstellung in Visual Studio, finden Sie unter Gewusst wie: Bereitstellen eines Webanwendungsprojekts mit der One-Click-Veröffentlichung in Visual Studio und die Referenten-Reihe Bereitstellen einer ASP.NET-Webanwendung auf einem Hosting-Anbieter, der Visual Studio oder zu Visual Web Developer konfiguriert.

Dd394698.collapse_all(de-de,VS.110).gifDer dbDacFx Web Deploy-Anbieter

Um den dbDacFx Web Deploy-Anbieter für die Datenbankbereitstellung zu verwenden, aktivieren Sie das Kontrollkästchen, das Datenbank aktualisieren im Assistenten Web veröffentlichen bezeichnet wird. Dieses Kontrollkästchen wird für SQL Server-Datenbanken angezeigt, dass die Anwendungszugriffe, ohne eine Kontextklasse Entity Framework Code First zu verwenden:

Publish_Web_Settings_tab_with_non_cf_database_

In der ersten Bereitstellung erstellt der Anbieter dbDacFx Tabellen und andere Datenbankobjekte in der Zieldatenbank, um die Quelldatenbank übereinstimmt. Bei nachfolgenden Bereitstellungen bestimmt der Anbieter, was zwischen Quell- und Zieldatenbank sich unterscheidet, und es aktualisiert das Schema der Zieldatenbank, um die Quelldatenbank übereinstimmt. Standardmäßig geht der Anbieter keine Änderungen, die zu Datenverlusten führen, wie vor, wenn eine Tabelle, Spalte oder abgelegt wird.

Diese Option können Sie auch eigene benutzerdefinierte SQL-Skripts angeben, die Sie in der Zieldatenbank während der Bereitstellung ausgeführt werden soll. Beispielsweise können Sie benutzerdefinierte Skripts ausführen, um ursprüngliche Daten in Tabellen einzufügen, nachdem der Anbieter die Tabellen erstellt wird. Oder Sie könnten benutzerdefinierte Skripts ausführen, um Schemaänderungen vornehmen, die nicht automatisch ausgeführt werden können, da sie einen Datenverlust verursachen würden.

Diese Datenbankbereitstellungsmethode erfordert, dass Web Deploy 3.0 und der dbDacFx Anbieter auf dem Zielwebserver installiert werden. (Sie müssen nicht auf dem Zieldatenbankserver installiert werden.)

Der dbDacFx Anbieter funktioniert nicht mit Betriebssystemen vor Windows Vista SP2, wie Windows XP und Windows Server 2003. Für die Datenbankbereitstellung auf diesen Betriebssystemen, verwendet der dbFullSql Web Deploy-Anbieter.

Informationen darüber, wie eine Datenbank bereitgestellt wird, indem Sie den dbDacFx Anbieter verwenden, und wie Web Deploy 3.0 und den dbDacFx Anbieter auf einem Zielwebserver, finden Sie unter Gewusst wie: Bereitstellen eines Webanwendungsprojekts mit der One-Click-Veröffentlichung in Visual Studio installiert.

Dd394698.collapse_all(de-de,VS.110).gifDer dbFullSql Web Deploy-Anbieter

Um den dbFullSql Web Deploy-Anbieter zu verwenden, konfigurieren Sie Datenbankbereitstellungseinstellungen auf der Registerkarte des SQL packen/veröffentlichen im Fenster Projekteigenschaften. Diese Datenbankbereitstellungsmethode ist seit Visual Studio 2010 SP1 verfügbar sind. Der dbFullSql Anbieter kann der ersten Bereitstellung des Datenbankschemas durchführen, und er kann Daten sowie Schema optional bereitstellen. Dieser Anbieter ist keine inkrementelle Datenbankbereitstellung. Wenn Sie versuchen, diesen Anbieter zu verwenden, um die Schemaaktualisierungen zu einer vorhandenen Datenbank bereitzustellen, schlägt die Bereitstellung fehl, da der Anbieter versucht, Tabellen zu erstellen, die bereits vorhanden sind.

Der dbFullSql Anbieter ist eine Legacydatenbank-Bereitstellungsmethode, die nur bei Bedarf verwendet werden sollte für bestimmte Szenarien, wie, wenn Sie das Windows XP oder Windows Server Betriebssystem verwenden. Informationen darüber, wie die Datenbankbereitstellung, die den dbFullSql Anbieter verwendet, finden Sie unter Registerkarte "Verpacken/Veröffentlichen - SQL", Projekteigenschaften und Migrieren zu SQL Server auf der ASP.NET-Site konfiguriert.

Andere Bereitstellungsaufgaben

Je nach dem Szenario oder Funktionen der Anwendung, sind möglicherweise andere Bereitstellungsaufgaben erforderlich oder versetzen. Im Folgenden finden Sie eine Liste von einigen mehr von den allgemeinen:

  • Konfigurieren Sie Web.config-Transformationen.

    Das Web.config-Datei der Anwendung könnte Einstellungen, die in der bereitgestellten Anwendung identisch sein müssen. Beispielsweise können Sie in der Regel Debuggen während der Entwicklung deaktivieren und es in der Produktion. Weitere Informationen finden Sie unter Web.config-Dateitransformationen auf der Website ASP.NET und Syntax der Web.config-Transformation für die Bereitstellung von Webanwendungsprojekten mit Visual Studio.

  • Geben Sie an, welche Dateien und Ordner auf den Zielserver kopiert werden sollen.

    Standardmäßig werden nur die Dateien bereit, die erforderlich sind, um die Anwendung auszuführen. Diese Option funktioniert gut für die meisten Szenarios, aber Sie verfügen möglicherweise besondere Anforderungen. Beispielsweise können Sie Datenbankdateien im Ordner App_Data ausschließen, wenn diese Dateien nur in der Entwicklung verwendet werden. Weitere Informationen finden Sie unter Konfigurieren von Projekteigenschaften auf der Website ASP.NET und Registerkarte "Verpacken/Veröffentlichen - Web", Projekteigenschaften.

  • Legen Sie Ordner auf dem Zielserver fest.

    Die Anwendung muss möglicherweise Schreibberechtigungen zu einigen der Projektordner. Wenn die Anwendung Benutzer Dateien hochladen können, erfordert sie Schreibzugriff auf den Ordner, in dem sie die hochgeladenen Dateien speichert. Sie müssen diese Berechtigungen als Teil des Bereitstellungsprozesses normalerweise explizit konfigurieren oder, nachdem die Anwendung bereitgestellt wurde. Weitere Informationen finden Sie unter Einstellungs-Ordner-Berechtigungen auf der ASP.NET-Website.

  • Kompilieren Sie das Projekt.

    Standardmäßig werden ASPX- und .ascx-Seiten nicht in Webanwendungsprojekten vorkompiliert. Stattdessen werden sie kompiliert, wenn sie angefordert werden. In den sehr großen Anwendungen kann dieser Vorgang eine geringfügige Verzögerung führen, die das erste Mal eine Webseite wird angefordert nach Bereitstellung erheblich sein kann. Informationen zum Webanwendungsprojekt kompilieren und Zusammenführungsoptionen und deren Verwendung, finden Registerkarte "Verpacken/Veröffentlichen - Web", Projekteigenschaften und Dialogfeld "Erweiterte Vorkompilierungseinstellungen" angibt.

  • Nehmen Sie die Anwendung offline während der Bereitstellung.

    Sie sollten Benutzer nicht in der Lage sein, die Anwendung zu verwenden, während sie bereitgestellt wird. Dies ist häufig der Fall, wenn Sie Datenbankaktualisierungen bereitstellen, da es möglicherweise ein Risiko Code der laufenden Anwendung vorhanden ist, der mit der Datenbank synchron ist. Informationen darüber, wie Sie vorübergehend eine Anwendung offline, finden Sie unter Sicherstellen, dass eine Anwendung während der Bereitstellung offline ist in Einstieg in die Webbereitstellung für Visual Studio und ASP.NET akzeptiert.

  • Testen Sie die Website in einer Umgebung, die zur Produktion ähnelt, bevor Sie sie in der Produktionsumgebung bereitstellen.

    Um die Möglichkeit zum Suchen zu reduzieren hält nachdem Sie zur Produktion bereitgestellt haben, testen Sie normalerweise die Anwendung in einer Umgebung ab die Produktionsumgebungen so ähnlich wie möglich. Hierzu, bevor Sie auf dem Produktionsserver bereitstellen, können Sie in IIS auf dem Entwicklungscomputer, auf einem Stagingserver oder einem Testkonto an Hostinganbieter bereitstellen. Weitere Informationen finden Sie unter Bereitstellen in IIS als Testumgebung auf der ASP.NET-Site.

  • Konfigurieren Sie Bereitstellungseinstellungen, die Visual Studio-Benutzeroberfläche nicht verfügbar gemacht werden.

    Das Visual Studio-Benutzeroberfläche können nicht alle Bereitstellungseinstellungen xxxx 3, die Sie konfigurieren können. Beispielsweise können Sie die Benutzeroberfläche nicht verwenden, um einen einzelnen Ordner von der Bereitstellung auszuschließen. Dies ist jedoch möglich, indem Sie die Dateien bearbeiten, die Konfigurationseinstellungen speichern. Für jedes Veröffentlichungsprofil gibt es eine .pubxml-Datei, die Sie direkt bearbeiten können. Wenn Sie Bereitstellungseinstellungen konfigurieren möchten, die für alle Veröffentlichungsprofile gelten, können Sie eine .wpp.targets-Datei erstellen. Weitere Informationen finden Sie unter Gewusst wie: Bearbeiten der Bereitstellungseinstellungen in Veröffentlichungsprofildateien (.pubxml) und der WPP.TARGETS-Datei in Visual Studio-Webprojekten.

  • Überprüfen Sie, ob Binärdateien für ASP.NET MVC auf den Server kopiert werden.

    Wenn Sie zum Hosten einen Anbieter bereitstellen, der nicht ASP.NET MVC oder die Zielversion von ihm unterstützt, stellen Sie sicher, dass Sie entsprechende MVC 3 oder MVC 4 NuGet-Paket im Projekt installiert haben.

  • Überprüfen Sie, ob Binärdateien für SQL Server Compact 4.0 auf den Server kopiert werden.

    Wenn Sie zum Hosten einen Anbieter bereitstellen, der nicht SQL Server Compact 4.0 unterstützt, stellen Sie sicher, dass Sie das SqlServerCompact NuGet-Paket im Projekt installiert haben. Sie müssen den bin \ x86 und Ordner \ amd64 zu Klasse im Projekt implementieren. Weitere Informationen finden Sie unter Bereitstellen von SQL Server Compact-Datenbanken.

Backup-- und Wiederherstellung

Bevor Sie ein Update einer vorhandenen Website bereitstellen, erstellen Sie einen Rollbackplan, damit Sie in der Lage sind, die Anwendung in ihren ursprünglichen Zustand wiederherzustellen, wenn alle Fehler liegt. Einige Aufgaben, um von gehören ungefähr nachzudenken Folgendes:

  • Sichern Sie den gesamten Code und Ressourcen, die von der Website verwendet werden.

    Warnung

    Gehen Sie nicht davon aus, dass, indem Sie auf einem Server bereitstellen, eine Sicherungskopie des Projekts erstellen.Quellcode, der in Assemblys kompiliert wird, bevor die Bereitstellung in der Regel nicht auf den Server kopiert wird.

  • Wenn die Aktualisierung Datenbankänderungen enthält, erstellen Sie einen Rollbackplan für die Datei Datenbankänderungen. Sie sollten Rollbackskripte im Voraus erstellen nur für alle Fälle. Sie sollten auch an die vorstellen, sofern Daten durchzuführen wurden eingeführt in geändert werden nach der Bereitstellung jedoch vor dem Rollback oder, wenn andere Anwendungen dieselbe Datenbank verwenden.

  • Wenn die Anwendung an andere Anwendungen herstellt, erstellen Sie einen Rollbackplan, was angibt, zu der sie verwendet werden, wenn Sie ein Update zurücksetzen müssen.

Siehe auch

Konzepte

Einstieg in die Webbereitstellung für Visual Studio und ASP.NET