Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Multiplattformbibliotheksprojekte, die auf bestimmte Plattformen wie iOS und Android abzielen, funktionieren am besten mit freigegebenen Projekten.
Das NuGet kann sowohl iOS- als auch Android-spezifischen Code sowie .NET-Code enthalten, der für beide gemeinsam ist.
Mehrere Assemblys werden erstellt und in ein einzelnes NuGet-Paket integriert. NuGet-Standards stellen sicher, dass das Paket allen unterstützten Projekttypen hinzugefügt werden kann, z. B. Xamarin.iOS- und Android-Projekte.
Schritte zum Erstellen einer plattformübergreifenden Bibliothek NuGet
Wählen Sie Datei > Neue Projektmappe aus (oder klicken Sie mit der rechten Maustaste auf eine vorhandene Projektmappe, und wählen Sie Neues Projekt hinzufügen >aus).
Wählen Sie im Abschnitt Multiplatform-Bibliothek die Option Multiplatform-Bibliothek> aus:
Geben Sie einen Namen und eine Beschreibung ein, und wählen Sie Plattformspezifisch aus:
Durchlaufen Sie den Assistenten. Die folgenden Projekte werden der Projektmappe hinzugefügt:
- Android-Projekt : Android-spezifischer Code kann optional zu diesem Projekt hinzugefügt werden.
- iOS-Projekt : iOS-spezifischer Code kann optional zu diesem Projekt hinzugefügt werden.
- NuGet-Projekt : Diesem Projekt wird kein Code hinzugefügt. Sie verweist auf die anderen Projekte und enthält die Metadatenkonfiguration für die Ausgabe des NuGet-Pakets.
-
Freigegebenes Projekt : Diesem Projekt sollte allgemeiner Code hinzugefügt werden, einschließlich plattformspezifischem Code innerhalb von
#if
Compilerdirektiven.
Klicken Sie mit der rechten Maustaste auf das NuGet-Projekt, und wählen Sie Optionen aus, öffnen Sie dann den Abschnitt NuGet-Paketmetadaten>, und geben Sie die erforderlichen Metadaten (sowie alle optionalen Metadaten) ein:
Öffnen Sie auch im Fenster Projektoptionen den Abschnitt Referenzassemblys , und wählen Sie aus, welche PCL-Profile die freigegebene Bibliothek über "Köder und Switch" unterstützt:
Hinweis
"Bait und Switch" bedeutet, dass die PCL-Assemblys nur die API enthalten, die von der Bibliothek verfügbar gemacht wird (sie kann nicht den plattformspezifischen Code enthalten). Wenn das NuGet einem Xamarin-Projekt hinzugefügt wird, werden freigegebene Bibliotheken für die PCL kompiliert, aber die plattformspezifischen Assemblys enthalten den Code, der tatsächlich vom iOS- oder Android-Projekt verwendet wird.
Klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie NuGet-Paket erstellen (oder die Projektmappe erstellen oder bereitstellen), und die NuGet-Paketdatei . nupkg wird im Ordner /bin/ gespeichert (abhängig von der Konfiguration entweder Debuggen oder Release).
Überprüfen der Ausgabe
NuGet-Pakete sind auch ZIP-Dateien, sodass es möglich ist, die interne Struktur des generierten Pakets zu überprüfen.
Dieser Screenshot zeigt den Inhalt eines plattformspezifischen NuGet, das iOS und Android unterstützt und zwei Referenzassemblys ausgewählt hat: