Migrieren und Veröffentlichen einer Webanwendung in einem Azure-Clouddienst über Visual Studio

Hinweis

Dieser Artikel bezieht sich auf Azure Cloud Services (klassisch), das für neue Kunden nun veraltet ist und am 31. August 2024 eingestellt wird. Vorhandene Dienste, die mit dieser Technologie erstellt wurden, werden weiterhin über Azure Cloud Services (erweiterter Support) unterstützt. Für eine neue Entwicklung empfehlen wir, einen neueren Diensttyp zu verwenden, der für Ihren spezifischen Zweck entwickelt wurde, z. B. Azure App Service, Azure Functions oder Azure Container Apps. Die neueste Liste der verfügbaren Dienste finden Sie im Verzeichnis der Azure-Produkte.

Um die Vorteile der Hostingdienste und der Skalierbarkeit von Azure zu nutzen, kann es ratsam sein, Ihre Webanwendung zu einem Azure-Clouddienst zu migrieren und dort bereitzustellen. Es sind nur geringfügige Änderungen erforderlich. Dieser Artikel behandelt nur die Bereitstellung in Clouddiensten; Informationen für App Service finden Sie unter Bereitstellen von Web-Apps in Azure App Service.

Wichtig

Diese Migration wird nur für die jeweiligen ASP.NET-, WCF- und WCF Workflow-Projekte unterstützt. Für ASP.NET Core-Projekte wird sie nicht unterstützt. Siehe Unterstützte Projektvorlagen.

Voraussetzungen

Migrieren eines Projekts zu Clouddiensten

  1. Klicken Sie mit der rechten Maustaste auf den Projektmappenknoten, wählen Sie Hinzufügen > Neues Projekt… aus, und fügen Sie der vorhandenen Projektmappe eine neues Azure Cloud Service-Projekt (klassisch) hinzu.

  2. Klicken Sie im Dialogfeld Neue Microsoft Azure Cloud Service (klassisch) auf „OK“, ohne dem Projekt Rollen hinzuzufügen.

  3. Klicken Sie mit der rechten Maustaste unter dem neu hinzugefügten Clouddienstprojekt auf den Knoten Rollen, und wählen Sie Webrollenprojekt in Projektmappe hinzufügen… aus.

  4. Wählen Sie im Dialogfeld Mit Rollenprojekt verknüpfen das Projekt aus, das Sie als Webrolle zuordnen möchten.

    Wichtig

    Wenn Sie über andere Assemblys oder Dateien verfügen, die für diese Webanwendung benötigt werden, müssen Sie die Eigenschaften für diese Dateien manuell festlegen. Informationen zum Festlegen dieser Eigenschaften finden Sie unter Einschließen von Dateien in das Dienstpaket.

Fehler und Warnungen

Alle auftretenden Warnungen oder Fehler geben Probleme an, die vor der Bereitstellung in Azure zu beheben sind, wie z.B. fehlende Assemblys.

Wenn Sie Ihre Anwendung erstellen, sie lokal mit dem Serveremulator ausführen oder sie in Azure veröffentlichen, wird eventuell folgende Fehlermeldung angezeigt: "Der angegebene Pfad oder Dateiname bzw. beide sind zu lang." Dieser Fehler gibt an, dass die Länge des vollqualifizierten Azure-Projektnamens 146 Zeichen überschreitet. Um das Problem zu beheben, verschieben Sie die Projektmappe in einen anderen Ordner mit kürzerem Pfad.

Weitere Informationen dazu, wie Sie alle Warnungen wie Fehler behandeln, finden Sie unter Konfigurieren eines Azure-Clouddienstprojekts mit Visual Studio.

Lokales Testen der Migration

  1. Klicken Sie in Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf das hinzugefügte Clouddienstprojekt, und wählen Sie dann Als Startprojekt festlegen.
  2. Wählen Sie Debuggen > Debuggen starten (F5) aus, um die Azure-Debugumgebung zu starten. Diese Umgebung stellt insbesondere die Emulation verschiedener Azure-Dienste bereit.

Verwenden einer Azure SQL-Datenbank für die Anwendung

Wenn Sie über eine Verbindungszeichenfolge für Ihre Webanwendung verfügen, die eine lokale SQL Server-Datenbank verwendet, müssen Sie stattdessen Ihre Datenbank zu Azure SQL-Datenbank migrieren und die Verbindungszeichenfolge aktualisieren. Anleitungen für diesen Vorgang finden Sie in den folgenden Themen:

Veröffentlichen der Anwendung in Azure Cloud Service

  1. Erstellen Sie die erforderlichen Clouddienst- und Speicherkonten im Azure-Abonnement wie in Vorbereiten der Veröffentlichung und Bereitstellung einer Azure-Anwendung in Visual Studio beschrieben.

  2. Klicken Sie in Visual Studio mit der rechten Maustaste auf das Anwendungsprojekt, und wählen Sie In Microsoft Azure veröffentlichen... (anderer Befehl als „Veröffentlichen…“).

  3. Melden Sie sich im angezeigten Fenster Azure-Anwendung veröffentlichen mit dem Konto Ihres Azure-Abonnements an, und wählen Sie Weiter > aus.

  4. Wählen Sie auf der Registerkarte Einstellungen > Allgemeine Einstellungen in der Dropdownliste Clouddienst den Zielclouddienst sowie die gewünschte Umgebung und die gewünschten Konfigurationen aus.

  5. Wählen Sie unter Einstellungen > Erweiterte Einstellungen das zu verwendende Speicherkonto aus, und wählen Sie dann Weiter > aus.

  6. Legen Sie Diagnose fest, ob Informationen an Application Insights gesendet werden.

  7. Wählen Sie Weiter > aus, um eine Zusammenfassung anzuzeigen, und wählen Sie dann Veröffentlichen aus, um die Bereitstellung zu starten.

  8. Visual Studio öffnet ein Aktivitätsprotokollfenster, in dem Sie den Fortschritt verfolgen können:

    VST_AzureActivityLog

  9. (Optional) Zum Abbrechen des Bereitstellungsprozesses klicken Sie mit der rechten Maustaste auf die Position im Aktivitätsprotokoll und wählen Abbrechen und entfernenaus. Mit diesem Befehl wird der Bereitstellungsprozess beendet und die Bereitstellungsumgebung aus Azure gelöscht. Hinweis: Sie müssen das Azure-Portalverwenden, um diese Umgebung nach der Bereitstellung zu entfernen.

  10. Um nach der Bereitstellung auf Ihre Anwendung zuzugreifen, wählen Sie den Pfeil neben Ihrer Bereitstellung aus, wenn der Status Abgeschlossen zusammen mit der URL im Azure-Aktivitätsprotokoll angezeigt wird. Die folgende Tabelle enthält die Details zum Starten eines bestimmten Typs von Webanwendung unter Azure.

Verwenden des Serveremulators und Starten der Anwendung in Azure

Alle Anwendungstypen können in einem Browser gestartet werden, der mit dem Visual Studio-Debugger verbunden ist. Wählen Sie dazu Debuggen > Debuggen starten aus (F5). Bei einem Projekt mit leerer ASP.NET-Webanwendung müssen Sie Ihrer Anwendung zunächst eine .aspx-Seite hinzufügen und sie als Startseite für Ihr Webprojekt festlegen.

Die folgende Tabelle enthält Details zum Starten der Anwendung in Azure:

Webanwendungstyp Ausführen in Azure
ASP.NET-Webanwendung
(einschließlich Model-View-Controller (MVC) 2, MVC 3, MVC 4)
Wählen Sie die URL auf der Registerkarte Bereitstellung für das Azure-Aktivitätsprotokoll.
Leere ASP.NET-Webanwendung Wenn in Ihrer Anwendung eine .aspx-Standardseite vorhanden ist, wählen Sie die URL auf der Registerkarte Bereitstellung für das Azure-Aktivitätsprotokoll. Um zu einer anderen Seite zu navigieren, geben Sie eine URL im folgenden Format in einen Browser ein: <deployment_url>/<page_name>.aspx
WCF-Dienstanwendung
Dienstanwendung für WCF-Workflows
Legen Sie die .svc-Datei als Startseite für Ihr WCF-Dienstprojekt fest. Navigieren Sie dann zu <deployment_url>/<service_file>.svc.
ASP.NET Dynamic Entities
ASP.NET Dynamic Data LINQ to SQL
Aktualisieren Sie die Verbindungszeichenfolge wie im nächsten Abschnitt beschrieben. Navigieren Sie dann zu <deployment_url>/<page_name>.aspx. Für LINQ to SQL müssen Sie eine Azure SQL-Datenbank verwenden.

Aktualisieren einer Verbindungszeichenfolge für ASP.NET Dynamic Entities

  1. Erstellen Sie eine SQL Azure-Datenbank für eine ASP.NET Dynamic Entities-Webanwendung, wie weiter oben in (#use-an-azuresql-database-for-your-application) beschrieben.

  2. Fügen Sie über das Azure-Portal die Tabellen und Felder hinzu, die Sie für diese Datenbank benötigen.

  3. Geben Sie in der web.config-Datei eine Verbindungszeichenfolge im folgenden Format an, und speichern Sie die Datei:

    <add name="tempdbEntities"
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=<server name>\SQLEXPRESS;initial catalog=<database name>;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient"/>
    

    Aktualisieren Sie den Wert connectionString mit der ADO.NET-Verbindungszeichenfolge wie folgt für Ihre Azure SQL-Datenbank:

    <add name="tempdbEntities"
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=tcp:<SQL Azure server name>.database.windows.net,1433;Database=<database name>;User ID=<user name>;Password=<password>;Trusted_Connection=False;Encrypt=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient"/>
    

Unterstützte Projektvorlagen

Anwendungen, die migriert und in Clouddiensten veröffentlicht werden können, müssen eine der Vorlagen in der folgenden Tabelle verwenden. ASP.NET Core wird nicht unterstützt.

Vorlagengruppe Projektvorlage
Web ASP.NET-Webanwendung (.NET Framework)
Web ASP.NET MVC 2-Webanwendung
Web ASP.NET MVC 3-Webanwendung
Web ASP.NET MVC 4-Webanwendung
Web Leere ASP.NET-Webanwendung (oder Website)
Web Leere ASP.NET MVC 2-Webanwendung
Web Webanwendung für ASP.NET Dynamic Data Entities
Web Webanwendung für ASP.NET Dynamic Data LINQ to SQL
WCF WCF-Dienstanwendung
WCF Dienstanwendung für WCF-Workflows
Workflow Dienstanwendung für WCF-Workflows