Freigeben über


Konvertieren eines automatisch gehosteten Add-Ins für SharePoint in ein vom Anbieter gehostetes Add-In

Mit Microsoft SharePoint wurde ein neuer Ansatz für die Erweiterung von SharePoint-Websites zusätzlich zum vorherigen Ansatz eingeführt, der auf der Verwendung lösungsbasierter Anpassungen basiert. Dieses neue Erweiterbarkeitsmodell für SharePoint, das als Add-In-Modell bezeichnet wird, ermöglicht Entwicklern die Erstellung von benutzerdefinierten Implementierungen, die an SharePoint-Umgebungen weitergegeben werden können, unabhängig davon, ob diese in einer lokalen SharePoint Online- oder Hybridbereitstellung ausgeführt werden.

Entwickler können zwei verschiedene Typen von SharePoint-Add-Ins erstellen. Der erste Typ, ein gehostetes SharePoint-Add-In, wird hauptsächlich im Browser ausgeführt und alle Ressourcen, die es unterstützen, z. B. HTML, CSS, Bilder und JavaScript, werden von SharePoint gespeichert und bedient. Die anderen Typen von Add-Ins gehören zum Cloud-Add-In-Modell (CAM) und werden hauptsächlich außerhalb von SharePoint auf einem anderen Server ausgeführt und kommunizieren mithilfe des clientseitigen Objektmodells (CSOM) und der REST-API mit SharePoint. Sie richten eine Identität mithilfe des geläufigen OAuth 2.0-Protokolls ein, das von SharePoint unterstützt wird.

Entwickler könnten Add-Ins über das Add-In-Modell auf zweierlei Weise implementieren: als vom Anbieter gehostetes Add-In oder als automatisch gehostetes Add-In. Automatisch gehostete Add-Ins wurden als Vorschauprogramm bei der Veröffentlichung von SharePoint eingeführt. Im Mai 2014 kündigte Microsoft jedoch an, dass das Vorschauprogramm beendet und kein Support für das Erstellen von automatisch gehosteten Add-Ins mehr bereitgestellt wird. Die Ankündigung finden Sie unter Aktualisierte Informationen zum Vorschauprogramm für automatisch gehostete Add-Ins.

In diesem Artikel werden die Konvertierung und Migration eines automatisch gehosteten Add-Ins zu einem vom Anbieter gehosteten Add-In erläutert. Eine wichtige Voraussetzung ist, dass Entwickler einige spezielle Unterschiede zwischen den zwei Ansätzen verstehen, da dieses Verständnis den Konvertierungsprozess erheblich vereinfacht.

Voraussetzungen für die Konvertierung eines automatisch gehosteten Add-Ins in ein vom Anbieter gehostetes Add-In

Kernkonzepte, die Sie vor dem Konvertieren eines automatisch gehosteten Add-Ins kennen sollten

Bevor Sie ein automatisch gehostetes Add-In in ein vom Anbieter gehostetes Add-In konvertieren, sollten Sie ein grundlegendes Verständnis für SharePoint-Add-Ins und die Unterschiede zwischen von SharePoint gehosteten, vom Anbieter gehosteten und automatisch gehosteten SharePoint-Add-Ins haben. Mit den Informationen in den in der folgenden Tabelle aufgeführten Artikeln sollten Sie diese Unterschiede verstehen können.

Titel des Artikels Beschreibung
SharePoint-Add-Ins Hier finden Sie Informationen über das neue Add-In-Modell in SharePoint, das es Ihnen ermöglicht, Add-Ins als kompakte, einfach zu verwendende Lösungen für Endbenutzer zu erstellen.
Wichtige Aspekte der Architektur und Entwicklungslandschaft von Add-Ins für SharePoint Erfahren Sie mehr über Aspekte der Architektur von SharePoint-Add-Ins und das Modell für SharePoint-Add-Ins, wie z. B. die Hostingoptionen für Add-Ins, Benutzeroberflächenoptionen, das Bereitstellungssystem, das Sicherheitssystem und den Lebenszyklus.
Auswählen von Mustern für die Entwicklung und das Hosting Ihres Add-Ins für SharePoint Hier finden Sie Informationen zu den verschiedenen Möglichkeiten zum Hosten von SharePoint-Add-Ins.
Hostwebsites, Add-In-Websites und SharePoint-Komponenten in SharePoint Hier lernen Sie den Unterschied zwischen Hostwebs und Add-In-Webs kennen. Außerdem erfahren Sie, welche SharePoint-Komponenten einem SharePoint-Add-In hinzugefügt werden können, welche für das Hostweb bereitgestellt werden, welche für das Add-In-Web bereitgestellt werden, und wie das Add-In-Web in einer isolierten Domäne bereitgestellt wird.

Konvertieren des Add-Ins

Beim Konvertieren eines automatisch gehosteten SharePoint-Add-Ins in ein vom Anbieter gehostetes Add-In müssen zwei oder drei Komponenten geändert werden.

  • Das SharePoint-Add-In an sich
  • Die Remotewebanwendung oder -dienste
  • Die Microsoft Azure SQL-Datenbank in dem Add-In, falls vorhanden

Ein automatisch gehostetes SharePoint-Add-In, das bei der Installation automatisch auf der Azure-Website und in der Azure SQL-Datenbank bereitgestellt wird; vom Anbieter gehostete Add-Ins können jedoch ihre eigene Remotewebanwendung haben und auf jeder Webplattform sind andere Dienste verfügbar. In diesem Artikel wird davon ausgegangen, dass die Remotekomponenten in einem automatisch gehosteten Add-In nach der Konvertierung in ein vom Anbieter gehostetes Add-In als Azure-Dienste bestehen bleiben.

In den folgenden Abschnitten werden Sie durch den Prozess des Konvertierens eines automatisch gehosteten Add-Ins in ein vom Anbieter gehostetes Add-In geführt. Das verwendete Beispiel für ein automatisch gehostetes Add-In, Kundenmanager, ist einfach, damit Sie sich auf die Konvertierungsschritte konzentrieren können und sich nicht mit dem eigentlichen Add-In befassen müssen. Es besteht aus drei Projekten:

  • CustomersDb: Ein SQL-Datenbankprojekt, das die erforderliche DACPAC-Datei generiert. Beachten Sie, dass in diesem Projekt kein Schema definiert ist. Es wird einfach zum Erstellen einer Datenbank verwendet, da das Schema von der ASP.NET-Webanwendung erstellt wird.

  • CustomerManagerAH: Eine automatisch gehostetes SharePoint-Add-In, dessen Konfiguration das ASP.NET-Webanwendungsprojekt und die Azure SQL-Datenebenenanwendung in das resultierende SharePoint-Add-In-Paket einschließt.

  • CustomerManagerAHWeb: Eine ASP.NET-MVC-Webanwendung, die dem Code „First-Migrationsansatz von Entity Framework“ folgt, um das Datenbankschema zu erstellen sowie Lese- und Schreibvorgänge in der Datenbank auszuführen.

Das Add-In ist eine ASP.NET-MVC-Webanwendung, in der sowohl die Kunden aus einer Tabelle in einer Azure SQL-Datenbank angezeigt als auch neue Kunden hinzugefügt werden können. Dies ist eine anonyme Webanwendung, in der jeder Kunden anzeigen oder hinzufügen kann. Die Visual Studio-Projektmappe für das automatisch gehostete Add-In und die zugehörigen Projekte kann aus dem folgenden öffentlichen Repository heruntergeladen werden: Autohosted-Migration-Code-Samples.

Für das Konvertieren eines automatisch gehosteten SharePoint-Add-Ins in ein vom Anbieter gehostetes Add-In sind mehrere Schritte erforderlich. Diese sind jeweils in den folgenden Abschnitten dargestellt.

  1. Bereitstellen der Azure SQL-Datenbank

  2. Erstellen der Azure-Website zum Hosten der Remotewebanwendung

  3. Registrieren des Add-Ins bei Ihrer SharePoint-Website

  4. Aktualisieren und Bereitstellen der Azure-Website für die Remotewebanwendung

  5. Erneutes Konfigurieren des SharePoint-Add-In-Projekts

Bereitstellen der Azure SQL-Datenbank

Der erste Schritt beim Konvertieren des automatisch gehosteten Add-Ins in ein vom Anbieter gehostetes Add-In besteht darin, die Azure SQL-Datenbank bereitzustellen, auf der die ASP.NET-Webanwendung basiert. Es gibt viele verschiedene Möglichkeiten zum Erstellen einer Azure SQL-Datenbank, von denen einige auf der Azure-Dokumentationswebsite dokumentiert sind: Migrieren einer SQL Server-Datenbank in eine SQL-Datenbank in der Cloud.

Bei dem in den folgenden Schritten dargestellten Ansatz wird das Datenebenenanwendungs-Bereitstellungsmodell verwendet, da die Datenbank auf diese Weise in einem automatisch gehosteten SharePoint-Add-In bereitgestellt wird. Dabei wird ein Datenebenenanwendungspaket (*.dacpac) erstellt und für die Erstellung der Datenbank verwendet.

So erstellen Sie die Azure SQL-Datenbank

  1. Öffnen Sie die automatisch gehostete Lösung in Visual Studio.

  2. Klicken Sie mit der rechten Maustaste auf das Datenbankprojekt CustomerDb, und wählen Sie dann Erstellen aus. Dadurch wird die Datei „ CustomerDb.dacpac“ im Ordner [..]\bin\[debug | release] erstellt.

  3. Erstellen Sie eine neue Azure SQL-Datenbank. Melden Sie sich beim Azure-Portal an, und wählen Sie, nachdem das Dashboard geladen wurde, den Link SQL-DATENBANKEN am Rand aus.

    Auflistung in der Azure SQL-Datenbank


  4. Klicken Sie im oberen Navigationsbereich auf den Link SERVER, und klicken Sie dann in der Fußzeile auf die Schaltfläche HINZUFÜGEN, wie in der folgenden Abbildung gezeigt:

    Schaltfläche „Hinzufügen“ der Azure SQL-Datenbank


  5. Wählen Sie im daraufhin angezeigten Dialogfeld SERVER ERSTELLEN das Azure-ABONNEMENT, den ANMELDENAMEN und das KENNWORT für den Benutzer, der Rechte auf dem Server haben wird, und dieselbe REGION aus, die beim Erstellen der Azure-Website zuvor verwendet wurde. Notieren Sie den Anmeldenamen und das Kennwort, da diese in einem späteren Schritt benötigt werden.

    Dialogfeld für neue Azure SQL-Datenbank


  6. Nachdem Sie das Formular ausgefüllt haben, klicken Sie auf das Häkchensymbol unten rechts, um die Datenbank zu erstellen. Während der Server erstellt wird, können nur andere Azure-Dienste darauf zugreifen. Notieren Sie den Namen der Azure SQL-Datenbank, da dieser in einem späteren Schritt benötigt wird.

So stellen Sie die Azure SQL-Datenbank bereit

  1. Um eine Verbindung zu der Azure SQL-Datenbank herzustellen und die Datenbank bereitzustellen, muss eine Firewallregel erstellt werden, die Datenverkehr von dem Computer zulässt, der die Datenbank bereitstellt. Andernfalls werden Verbindungen zur Azure SQL-Datenbank verweigert, und es werden Fehler wie in der folgenden Abbildung angezeigt.

    Fehler beim Herstellen der Verbindung mit dem Server


  2. Um eine Firewallregel zu erstellen, wählen Sie im Azure-Portal die zuvor erstellte Azure SQL-Datenbank aus, und wählen Sie dann den Link KONFIGURIEREN in der oberen Navigationsleiste aus.

  3. Im Abschnitt Zulässige IP-Adressen wird Ihre IP-Adresse derzeit wie in der folgenden Abbildung dargestellt angezeigt. Wählen Sie ZU DEN ZULÄSSIGEN IP-ADRESSEN HINZUFÜGEN aus, um eine Firewallregel hinzuzufügen. Auf diese Weise können Verbindungen zur Azure SQL-Datenbank und zur Bereitstellung der Datenbank hergestellt werden. Wählen Sie Speichern in der Fußzeile aus.

    Azure SQL-Firewallregel erstellen


  4. Stellen Sie die Datenbank aus Visual Studio mithilfe des Azure-SDKs für .NET 2.3 bereit.

  5. Öffnen Sie in Visual Studio das Toolfenster SQL Server-Objekt-Explorer aus, klicken Sie mit der rechten Maustaste auf den Knoten SQL SERVER, und wählen Sie dann SQL Server hinzufügen aus.

    Herstellen einer Verbindung zur Azure SQL-Datenbank von Visual Studio aus


  6. Geben Sie im Dialogfeld Mit Server verbinden den Servernamen ein, legen Sie die Authentifizierung auf SQL Server-Authentifizierung fest, und geben Sie denselben Anmeldenamen und dasselbe Kennwort ein, die beim Erstellen der Azure SQL-Datenbank definiert wurden. Der Servername sollte der vollqualifizierte Name des Servers sein, in diesem Fall [server-name].database.windows.net, wie in der folgenden Abbildung gezeigt:

    SQL-Dialogfeld zum Anmelden am Server


  7. Erweitern Sie nach dem Herstellen der Verbindung mit der Azure SQL-Datenbank den Knoten für den neu hinzugefügten Server, klicken Sie mit der rechten Maustaste auf den Knoten Datenbanken, und wählen Sie Datenebenenanwendung veröffentlichen aus, um den Assistent für Veröffentlichungen aufzurufen.

  8. Klicken Sie im Abschnitt Quell-Datenebenenanwendung (.dacpac) auf die Schaltfläche Durchsuchen, um nach der DACPAC-Datei zu suchen, die beim Erstellen des Datenbankprojekts in einem vorherigen Schritt generiert wurde. Vergewissern Sie sich, dass der Datenbankname auf CustomerDb festgelegt ist.

  9. Klicken Sie dann auf Veröffentlichen um die CustomerDb in der Azure SQL-Datenbank zu veröffentlichen.

    Dialogfeld zum Veröffentlichen einer Datenebenenanwendung


  10. Aktualisieren Sie das Visual Studio-Toolfenster SQL Server-Objekt-Explorer, um zu sehen, dass CustomerDb unter dem Knoten Datenbanken aufgelistet ist.

Hinweis

Abhängig davon, wie die Datenbank für das automatisch gehostete Add-In erstellt wurde, sind möglicherweise einige weitere Schritte erforderlich, um es für Azure bereitzustellen. Weitere Informationen finden Sie unter Erstellen und Verwalten von Datenbanken und Datenebenenanwendungen in Visual Studio: Erstellen und Verwalten von Datenebenenanwendungen.

Aktionen nach der Bereitstellung

Nachdem die Azure SQL-Datenbank erstellt wurde, erstellen Sie eine Kopie der Verbindungszeichenfolge, die zum Herstellen einer Verbindung mit der Datenbank verwendet wurde. Dies kann auf zwei Arten geschehen.

  • Eine Möglichkeit besteht darin, dass Sie sich beim Azure-Portal anmelden und zur Azure SQL-Datenbank wechseln, die Sie im letzten Schritt erstellt haben: CustomerDb. Klicken Sie auf der Seite DASHBOARD für die Datenbank auf den Link Verbindungszeichenfolgen anzeigen, um eine Liste der Verbindungszeichenfolgen anzuzeigen. Erstellen Sie eine Kopie der Verbindungszeichenfolge ADO.NET zur späteren Verwendung.

    Dialogfeld für Azure SQL-Verbindungszeichenfolgen


  • Die andere Möglichkeit zum Abrufen der Verbindungszeichenfolge erfolgt über Visual Studio, vorausgesetzt, das Azure-SDK v2.3 ist installiert. Wählen Sie im Toolfenster des SQL Server-Objekt-Explorer die Datenbank CustomerDb aus. Nachdem die Datenbank ausgewählt wurde, sehen Sie sich das Toolfenster Eigenschaften an, um die Verbindungszeichenfolge anzuzeigen. Dies ist der gleiche Wert wie im Azure-Portal.

    SQL-Verbindungszeichenfolge in Visual Studio abrufen


Erstellen einer Azure-Website

Der nächste Schritt besteht darin, eine neue Azure-Website zu erstellen, auf der sich die Remote-Webanwendung für das vom Anbieter gehostete Add-In befindet. Dies muss zuerst ausgeführt werden, da die URL der Remote-Webanwendung erforderlich ist, bevor Sie das Add-In registrieren. Die Registrierung des Add-Ins in SharePoint sollte jedoch der Bereitstellung der Dateien für die ASP.NET-Webanwendung vorausgehen, da der Registrierungsvorgang zwei Ausgaben zurückgibt (die Client-ID und den geheimen Clientschlüssel), die vor der Bereitstellung der Dateien für die ASP.NET-Webanwendung benötigt werden.

So erstellen Sie eine neue Azure-Website

  1. Melden Sie sich beim Azure-Portal an. Wenn das Dashboard geladen wird, klicken Sie auf den Navigationslink websiteS am linken Rand, und wählen Sie dann die Schaltfläche NEU in der Fußzeile aus, wie in der folgenden Abbildung gezeigt.

    Azure-Website-Dashboard


  2. Wählen Sie im Assistenten für neue Websites BERECHNEN, website und SCHNELLERFASSUNG aus, und geben Sie dann eine URL und einen WEBHOSTINGPLAN an. Geben Sie schließlich die REGION an, in der die Website erstellt werden soll. Merken Sie sich die ausgewählte Region, da dieselbe Region für die Azure SQL-Datenbank verwendet werden soll, die später erstellt wird.

  3. Wenn nicht bereits ein Webhostingplan vorhanden ist oder ein neuer gewünscht wird, wählen Sie die Option Neuen Webhostingplan erstellen aus. Die folgende Abbildung zeigt ein Beispiel.

    Dialogfeld zum Erstellen einer Azure-Website


  4. Notieren Sie nach dem Erstellen der Azure-Website die URL, die für die Website verwendet wird. In den Abbildungen oben wird die Website http://spahapptoph.azurewebsites.net erstellt.

Registrieren eines neuen Add-Ins

Alle über das Add-In-Modell erstellten SharePoint-Add-Ins müssen bei der hostenden SharePoint-Farm oder dem hostenden Mandanten registriert werden, um eine Vertrauensstellung zwischen SharePoint und der Remotewebanwendung herzustellen. Dafür muss ein neuer Add-In-Prinzipal bei SharePoint registriert werden, in dem die folgenden Werte angegeben sind:

  • Client-ID: die Add-In-ID
  • Geheimer Clientschlüssel: das Add-In-Kennwort
  • Titel: der Name des Add-Ins
  • Add-In-Domäne: die Domäne der obersten Ebene der Remotewebanwendung

Wenn ein automatisch gehostetes Add-In in SharePoint Online installiert wird, erstellt Office 365 den Add-In-Prinzipal automatisch. Es kennt die URL der Remotewebanwendung, da die Website automatisch erstellt wird. Außerdem werden die Client-ID und der geheime Clientschlüssel zur Datei „web.config“ der Remotewebanwendung hinzugefügt. In der Datei „web.config“ sucht eine von Microsoft (in der Datei „TokenHelper.cs“ oder in der VB-Datei) bereitgestellte Klasse danach, wenn Anforderungen überprüft und mit SharePoint authentifiziert werden.

In einem vom Anbieter gehosteten Add-In muss der Entwickler das Add-In jedoch manuell registrieren und die web.config-Datei im ASP.NET-Webprojekt manuell aktualisieren.

So registrieren Sie ein neues Add-In

  1. Navigieren Sie zur Add-In-Registrierungsseite der SharePoint-Website, in der das Add-In installiert wird. Diese Seite befindet sich unter http://[SharePoint-site-url]/_layouts/15/appregnew.aspx.

  2. Legen Sie auf der Seite „Add-In-Registrierung“ den Add-In-Typ auf Ein Add-In, das auf einem Webserver ausgeführt wird fest, und klicken Sie auf die beiden Schaltflächen Generieren, um eine neue Client-ID und einen neuen geheimen Clientschlüssel zu erstellen.

  3. Geben Sie den Namen des Add-Ins im Feld Titel ein, und geben Sie die im vorherigen Schritt erstellte URL der Azure-Zielwebsite im Feld Add-In-Domäne ein. Wählen Sie abschließend die Schaltflächen Erstellen aus.

  4. Nachdem das Add-In registriert wurde, wird in SharePoint eine Zusammenfassung der Informationen angezeigt, die in dem Formular zum Erstellen der Registrierung verwendet wurden. Es ist sehr wichtig, dass diese Informationen zu Sicherungszwecken kopiert werden, insbesondere die Client-ID und der geheime Clientschlüssel, da diese in einem späteren Schritt erforderlich sind.

Aktualisieren und Bereitstellen der Azure-Website für die Remotewebanwendung

Der nächste Schritt besteht darin, die Remotewebanwendung erneut so zu konfigurieren, dass sie als ein vom Anbieter gehostetes Add-In und nicht als automatisch gehostetes Add-In bereitgestellt werden kann. Es gibt mehrere Methoden zum Bereitstellen einer ASP.NET-Website auf einer Azure-Website, einschließlich der Bereitstellung direkt von Visual Studio aus, automatisch aus dem Quellsteuerelement, z. B. Visual Studio Team Services, über GitHub oder sogar unter Verwendung der altbewährten FTP-Option. In diesem Artikel wird Visual Studio verwendet. Bevor die Anwendung jedoch bereitgestellt werden kann, werden zunächst ein paar Updates für das Arbeiten mit dem vom Anbieter gehosteten Add-In benötigt.

So aktualisieren Sie das Remote-Webanwendungsprojekt

Die große Änderung, die in der ASP.NET-MVC-Webanwendung vorgenommen werden muss, liegt in der web.config-Datei. In dieser Datei befinden sich drei Einstellungen im <Knoten appSettings> . Dies sind ClientId, ClientSecret und SqlAzureConnectionString. Die ersten beiden werden von der von Microsoft bereitgestellten Klasse in „TokenHelper.cs“ oder „-.vb“ verwendet, um die Authentifizierung und Kommunikation mit SharePoint aus der Remotewebanwendung zu ermöglichen. Letzteres, SqlAzureConnectionString, wird vom Add-In verwendet, um eine Verbindung mit der Azure SQL-Datenbank herzustellen.

In einem automatisch gehosteten SharePoint-Add-In füllt Office 365 die Werte für diese Einstellungen aus, wenn die Azure-Website und die Azure SQL-Datenbank bei der Installation des Add-Ins erstellt werden. In einem vom Anbieter gehosteten Add-In müssen diese Werte jedoch manuell festgelegt werden, bevor das Add-In bereitgestellt wird.

Eine Option besteht darin, die Werte für die drei Einstellungen aus den Schritten oben zu kopieren und einzufügen, der Nachteil bei diesem Ansatz ist jedoch, dass die web.config-Datei, wenn die Werte jemals geändert werden müssen, manuell aktualisiert und erneut an die Azure-Website bereitgestellt werden muss.

Eine andere Option besteht darin, diese Einstellungen einfach zu löschen (die Einstellungsschlüssel beizubehalten und nur das Attribut value="" auf eine leere Zeichenfolge festzulegen) und sie stattdessen in den Azure-Website-Einstellungen für das Azure-Portal zu definieren. Dieser Ansatz bedeutet, dass die Einstellungen geändert werden können, ohne die Codebasis zu aktualisieren. Gehen Sie zu diesem Zweck wie folgt vor:

  1. Melden Sie sich beim Azure-Portal an, und wechseln Sie zu der Azure-Website, die Sie in den vorherigen Schritten erstellt haben.

  2. Wählen Sie auf der Seite „Azure-Website-Dashboard“ die Option KONFIGURIEREN im oberen Navigationsmenü, und führen Sie dann einen Bildlauf nach unten zum Abschnitt Add-In-Einstellungen aus.

  3. Fügen Sie drei neue Add-In-Einstellungen mithilfe derselben Einstellungsnamen aus der Datei „web.config“ hinzu. Verwenden Sie für ClientId, ClientSecret und SqlAzureConnectionString die Werte, die Sie in den vorherigen Schritten abgerufen haben .

Stellen Sie sicher, dass die Verbindungszeichenfolge der Azure SQL-Datenbank korrekt und gültig ist, da das Kennwortattribut durch eine Maske ersetzt wird, wenn die Verbindungszeichenfolge über das Azure-Portal und Visual Studio verfügbar gemacht wird. Das maskierte Kennwort in der Verbindungszeichenfolge sollte so geändert werden, dass das korrekte Kennwort verwendet wird, das beim Erstellen der Anmeldung für die Azure SQL-Datenbank definiert wurde.

So stellen Sie die Remotewebanwendung auf der Azure-Website bereit

Die ASP.NET.-MVC-Webanwendungsdateien müssen auf der Azure-Website als Remotewebanwendung bereitgestellt werden.

  1. Klicken Sie in Visual Studio mit der rechten Maustaste auf das Webprojekt, und wählen Sie Veröffentlichen aus. Dadurch wird das Dialogfeld für den Assistenten zum Veröffentlichen von Websites geöffnet.

  2. Wählen Sie in diesem Dialogfeld Windows Azure-Websites aus, und klicken Sie dann auf Veröffentlichen.

    Dialogfeld „Website veröffentlichen“ in Visual Studio


  3. Wählen Sie den Namen der Azure-Website aus, die in einem vorherigen Schritt erstellt wurde, wie in der folgenden Abbildung gezeigt. Klicken Sie auf OK, und vergewissern Sie sich, dass die URL der Website HTTPS enthält.

    Dialogfeld „Vorhandene Website auswählen“


  4. Wählen Sie Verbindung überprüfen aus, um sicherzustellen, dass die Einstellungen und die Verbindung ordnungsgemäß funktionieren.

  5. Wählen Sie Veröffentlichen aus, wodurch ausgelöst wird, dass Visual Studio die ASP.NET-Webanwendung auf der Azure-Website bereitstellt.

  6. Klicken Sie auf die URL der Website.

Nach der Bereitstellung der Website startet Visual Studio den standardmäßigen Debugging-Browser und navigiert zur Azure-Website. Die Website wird jedoch mit einem Fehler wiedergegeben. Der Grund ist, dass die ASP.NET-MVC-Controller mit einem Attribut (insbesondere SharePointContextFilter) ausgestattet sind, das von SharePoint erwartet, dass bestimmte Werte an den Controller im Header einer HTTP POST-Anforderung gesendet werden, der Browser aber standardmäßig eine HTTP GET-Anforderung startet, deshalb wird dieser Fehler erwartet.

Hinweis

Zusätzliche Optionen für die Bereitstellung von ASP.NET-Webanwendungen auf einer Azure-Website finden Sie unter Lokale Git-Bereitstellung in Azure App Service.

Benutzerdefinierte Domänen und SSL-Zertifikate für Azure-Websites

Für alle Azure-Websites wird die folgende Benennungskonvention verwendet: http[s]://[site-name].azurewebsites.net. Microsoft hat allen Websites unter der *.azurewebsites.net-Domäne ein Platzhalter-SSL-Zertifikat hinzugefügt, aber Kunden können auch beliebig eine benutzerdefinierte Domäne mit ihrer Azure-Website verbinden oder eigene SSL-Zertifikate für diese benutzerdefinierten Domänen verwenden.

Informationen zur Verwendung von benutzerdefinierten Domänen finden Sie unter Zuordnen eines vorhandenen benutzerdefinierten DNS-Namens zu Azure-Web-Apps.

Informationen zum Hinzufügen eines benutzerdefinierten SSL-Zertifikats für Ihren benutzerdefinierten Domänennamen finden Sie unter Binden eines vorhandenen benutzerdefinierten SSL-Zertifikats an Azure-Web-Apps.

Erneutes Konfigurieren des SharePoint-Add-In-Projekts

Der letzte Schritt besteht darin, das SharePoint-Add-In-Projekt erneut zu konfigurieren. In dem Visual Studio-Projekt für das SharePoint-Add-In ist der Add-In-Typ auf „Automatisch gehostet“ konfiguriert; dies muss in „Vom Anbieter gehostet“ geändert werden.

So konfigurieren Sie das SharePoint-Add-In-Projekt erneut

  1. Öffnen Sie die Datei „AppManifest.xml“ im SharePoint-Add-In-Projekt, und ändern Sie die Option Hosting-Typ von Automatisch gehostet in Vom Anbieter gehostet.

  2. Legen Sie die Startseite des Add-Ins so fest, dass sie auf die URL der Startseite der Remotewebanwendung zeigt (die URL der Azure-Website). Schließen Sie unbedingt den Wert {StandardTokens} der Abfragezeichenfolge mit ein, wenn dieser nicht bereits vorhanden ist. Dadurch wird sichergestellt, dass SharePoint die wichtigsten Abfragezeichenfolgentokens zu der URL hinzufügt, wenn die Remotewebanwendung geöffnet wird.

  3. Entfernen Sie den Verweis im SharePoint-Add-In-Projekt zur ASP.NET-MVC-Webanwendung, indem Sie das SharePoint-Add-In-Projekt im Projektmappen-Explorer von Visual Studio auswählen. Legen Sie im Toolfenster Eigenschaften die Eigenschaft Webprojekt auf (Keine) fest, wie in der folgenden Abbildung gezeigt:

    Webprojekteigenschaften in Visual Studio


  4. Dieser Schritt erfordert eine manuelle Aktualisierung der Datei „AppManifest.xml“, da einige Einstellungen nicht im Designer verfügbar gemacht werden. Speichern Sie hierfür alle vorhandenen Änderungen in der Datei „AppManifest.xml“, und klicken Sie anschließend mit der rechten Maustaste in dieselbe Datei im Projektmappen-Explorer, und wählen Sie Code anzeigen an.

    Kontextmenü des Add-In-Manifests in Visual Studio


  5. Entfernen Sie in der Codeansicht der Datei "AppManifest.xml" die zwei Referenzen auf das ASP.NET-MVC-Webanwendungsprojekt und das SQL-Datenebenen-Anwendungsprojekt, da diese in einem vom Anbieter gehosteten SharePoint-Add-In nicht erforderlich sind.

  6. Erstellen Sie eine neue GUID, und ersetzen Sie die vorhandene GUID im ProductId-Attribut. Hiermit wird SharePoint darüber informiert, dass dies ein neues Add-In ist und keine Aktualisierung für ein vorhandenes Add-In.

    Wichtig

    Würde die vorhandene Produkt-ID verwendet werden, würde SharePoint die Fehlermeldung „Das bereitgestellte Add-In unterscheidet sich von einem anderen Add-In mit der gleichen Version und Produkt-ID“ zurückgeben, wenn das konvertierte Add-In installiert wird.

  7. Suchen Sie das <RemoteWebApplication-Element> , und aktualisieren Sie das ClientId-Attribut auf dieselbe GUID, die beim Registrieren des Add-Ins bei SharePoint abgerufen wurde und in den web.config-Add-In-Einstellungen der Azure-Website verwendet wurde.

    Client ID attribute in app manifest


  8. Nachdem alle Änderungen in der Datei „AppManifest.xml“ gespeichert wurden, kann das Add-In nun als von einem Anbieter gehostetes SharePoint-Add-In getestet werden. Stellen Sie das Add-In in einer SharePoint-Farm oder auf einer SharePoint Online-Website bereit, um zu überprüfen, dass die Konvertierungsschritte korrekt ausgeführt wurden.

Siehe auch