Partager via


Création de projets de bibliothèque Platform-Specific pour NuGet

Les projets de bibliothèque multiplateforme qui ciblent des plateformes spécifiques, comme iOS et Android, fonctionnent mieux avec les projets partagés.

NuGet peut contenir du code spécifique à iOS et Android, ainsi que du code .NET commun aux deux.

Plusieurs assemblys sont créés et intégrés dans un seul package NuGet. Les normes NuGet garantissent que le package peut être ajouté à tous les types de projets pris en charge, tels que les projets Xamarin.iOS et Android.

Étapes de création d’une bibliothèque multiplateforme NuGet

  1. Sélectionnez Fichier > nouvelle solution (ou cliquez avec le bouton droit sur une solution existante et choisissez Ajouter un > nouveau projet).

  2. Choisissez Bibliothèque multiplateforme dans la section Bibliothèque multiplateforme > :

    Configurer une bibliothèque multiplateforme pour une base de code unique

  3. Entrez un nom et une description, puis choisissez Spécifique à la plateforme :

    Configurer une bibliothèque spécifique à la plateforme pour iOS et Android

  4. Terminez l'Assistant. Les projets suivants sont ajoutés à la solution :

    • Projet Android : le code spécifique à Android peut éventuellement être ajouté à ce projet.
    • Projet iOS : le code spécifique à iOS peut éventuellement être ajouté à ce projet.
    • Projet NuGet : aucun code n’est ajouté à ce projet. Il fait référence aux autres projets et contient la configuration des métadonnées pour la sortie du package NuGet.
    • Projet partagé : le code commun doit être ajouté à ce projet, y compris le code spécifique à la plateforme à l’intérieur #if des directives du compilateur.
  5. Cliquez avec le bouton droit sur le projet NuGet et choisissez Options, puis ouvrez la section Métadonnées du package > NuGet et entrez les métadonnées requises (ainsi que les métadonnées facultatives) :

    Entrer les métadonnées requises

  6. Également dans la fenêtre Options du projet , ouvrez la section Assemblys de référence et choisissez les profils PCL pris en charge par la bibliothèque partagée via « appât et commutateur » :

    Également dans la fenêtre Options du projet, ouvrez la section Assemblys de référence et choisissez les profils PCL pris en charge par la bibliothèque partagée via l’appât et le commutateur

    Notes

    « Appât et commutateur » signifie que les assemblys PCL contiennent uniquement l’API exposée par la bibliothèque (elle ne peut pas contenir le code propre à la plateforme). Lorsque le NuGet est ajouté à un projet Xamarin, les bibliothèques partagées sont compilées sur la LCP, mais les assemblys spécifiques à la plateforme contiennent le code qui est réellement utilisé par le projet iOS ou Android.

  7. Cliquez avec le bouton droit sur le projet et choisissez Créer un package NuGet (ou générer ou déployer la solution) et le fichier de package NuGet .nupkg sera enregistré dans le dossier /bin/ (Déboguer ou Libérer, selon la configuration).

    Le fichier de package NuGet sera enregistré dans le dossier bin Debug ou Release, selon la configuration

Vérification de la sortie

Les packages NuGet étant également des fichiers ZIP, il est possible d’inspecter la structure interne du package généré.

Cette capture d’écran montre le contenu d’un NuGet spécifique à la plateforme qui prend en charge iOS et Android, et dont deux assemblys de référence ont été sélectionnés :

Fichiers contenus dans le package NuGet