Freigeben über


Konfigurieren Office 365 API-Projekte für die Verteilung

Auf dieser Seite werden einige Schritte erläutert, mit denen Entwickler ihre Projekte in Betracht ziehen sollten, die die Office 365-APIs nutzen, bevor sie an andere Entwickler, deren Kunden oder an Quellcodeverwaltungssysteme wie Team Foundation Server, Git oder Visual Studio Team Services verteilt werden.

Auf dieser Seite werden insbesondere zwei Schritte untersucht:

  • Korrigieren der Referenz zum NuGet-Paket für den Azure AD Graph-Client
  • Bereinigen der web.config-Datei nach appspezifischen Details

Korrigieren der Referenz zum NuGet-Paket für den Azure AD Graph-Client

Alle Projekte, die die Office 365 API SDKs durch Hinzufügen eines verbundenen Diensts nutzen, enthalten ein NuGet-Paket, das Office 365- und Azure Active Directory-Verweise (Azure AD) zu dem in Visual Studio erstellten Projekt hinzufügt.

Das NuGet-Paket, das dem Projekt von den Office 365 API-Tools in Visual Studio hinzugefügt wurde, ist nicht in der NuGet-Paketregistrierung vorhanden. Daher schlagen Versuche, eine NuGet-Paketwiederherstellung durchzuführen, fehl, da kein übereinstimmende Paket gefunden werden kann.

Grundlegendes zum Problem

Die Office 365 API-Tools für Visual Studio, Version 1.3.41104.1, fügt Projekten im Rahmen des Assistenten zum Hinzufügen verbundener Dienste mehrere NuGet-Pakete hinzu. Insbesondere ein Paket stellt eine Herausforderung dar: die Microsoft Azure Active Directory Graph Clientbibliothek.

Die Funktionsweise von Visual Studio besteht darin, dass es oder Add-Ins in der Regel eine lokale Kopie des NuGet-Pakets enthält, sodass Entwickler nicht immer mit dem Internet verbunden sein müssen, um die NuGet-Pakete herunterzuladen. Das Paket, das die Tools enthalten, weist die ID Microsoft.Azure.ActiveDirectory.GraphClient und die Version 1.0.22 auf.

Wenn Projekte an die Quellcodeverwaltung committet werden, werden die Pakete in der Regel nicht als Teil des Commits eingeschlossen, da sie viel zusätzlichen Speicherplatzbedarf erhöhen und die Größe eines Pakets unnötig erhöhen können, wenn es für andere Entwickler freigegeben wird. Daher ist eine der ersten Aufgaben, die Entwickler nach dem Abrufen einer Kopie des Projekts aus der Quellcodeverwaltung ausführen, die NuGet-Paketwiederherstellung.

Die Herausforderung besteht darin, dass ein Paket mit der gleichen ID und Version nicht in der NuGet-Paketregistrierung vorhanden ist. Es gibt kein Paket mit der ID Microsoft.Azure.ActiveDirectory.GraphClient und der Version 1.0.22. Das Paket ist in der NuGet-Paketregistrierung Microsoft.Azure.ActiveDirectory.GraphClient vorhanden, aber unter unterschiedlichen Versionen.

Beheben der Referenz zum Azure AD Graph-Client-NuGet-Paket

Bis die Office 365 API-Tools für Visual Studio aktualisiert wurden, um dieses Problem zu beheben, empfehlen wir Ihnen, das Projekt vor dem Committen an Ihr Quellcodeverwaltungssystem zu ändern, unabhängig davon, ob Sie Team Foundation Server, Visual Studio Team Services, Git oder eine andere Projektmappe verwenden.

Suchen Sie nach dem Erstellen des Projekts in der packages.config-Datei des Projekts, und suchen Sie nach einem Paket mit der ID Microsoft.Azure.ActiveDirectory.GraphClient und der Version 1.0.22. Die sicherste Möglichkeit zum Aktualisieren des Projekts besteht darin, das Paket zu deinstallieren und dann neu zu installieren.

Öffnen Sie die Paket-Manager-Konsole in Visual Studio, und geben Sie Folgendes ein, um das Paket zu deinstallieren:

  PM> Uninstall-Package -Id Microsoft.Azure.ActiveDirectory.GraphClient

Hinweis

Wenn bei der Deinstallation ein Fehler ausgelöst wird, dass das Paket nicht gefunden wird, entfernen Sie einfach den Paketverweis manuell aus der packages.config Datei, und speichern Sie Ihre Änderungen.

Installieren Sie nun die öffentliche Version desselben NuGet-Pakets aus der öffentlichen Registrierung:

  PM> Install-Package -Id Microsoft.Azure.ActiveDirectory.GraphClient -Version 2.0.2

Hinweis

Im vorherigen Beispiel wird auf eine bestimmte Version des Azure AD Graph-Clients verwiesen, von der bekannt ist, dass sie mit den Office 365-APIs funktioniert. Zukünftige Versionen funktionieren möglicherweise, daher ist das Auslassen des -Version Arguments optional.

Bereinigen der web.config-Datei nach appspezifischen Details

Die Office 365 API-Tools für Visual Studio fügen die Möglichkeit hinzu, mithilfe des Assistenten für verbundene Dienste in Visual Studio eine neue Azure AD-Anwendung mit den erforderlichen Berechtigungen für die Office 365-APIs zu erstellen. Nach Abschluss des Assistenten werden mehrere Einträge und Anpassungen an der web.config-Datei des Projekts vorgenommen.

Diese Änderungen umfassen die folgenden Add-In-Einstellungen:

  • ida:ClientID: Die eindeutige ID der Anwendung, die in Ihrem Azure AD-Mandanten erstellt wurde.
  • ida:Password: Der Schlüssel der Azure AD-Anwendung, der vom Assistenten für verbundene Dienste generiert wurde.
  • ida:AuthorizationUri: Der Endpunkt, der für die Authentifizierung bei Azure AD verwendet wird.

ida:ClientID und ida:Password sind für die Azure AD-App eindeutig. Einige Entwicklungsteams können sich dafür entscheiden, dass jeder Entwickler mit seiner eigenen App programmieren soll, ähnlich wie Entwickler mit ihrer eigenen lokalen Entwicklungsdatenbank arbeiten. Daher können Sie sich ida:ClientID und ida:Password ähnlich wie Datenbankverbindungszeichenfolgen vorstellen.

Wenn ein Entwickler das nächste Mal den Assistenten für verbundene Dienste verwendet, um eine neue Azure AD-Anwendung des Projekts zu erstellen, erkennt der Assistent die ida:CliendID und versucht, eine Verbindung mit einer Anwendung im Azure AD-Mandanten des aktuellen Benutzers herzustellen. Wenn keine Übereinstimmung gefunden wird, löst der Assistent für verbundene Dienste einen Fehler aus.

Daher wird empfohlen, vor dem Committen des Projekts in die Quellcodeverwaltung oder vor der Freigabe für andere Entwickler die Werte aus den Add-In-Einstellungen ida:ClientID und ida:Password in der web.config-Datei zu entfernen.

Siehe auch