Partager via


Création d’une bibliothèque multiplateforme pour NuGet

La création d’un projet de bibliothèque multiplateforme qui utilise PCL ou .NET Standard signifie que le NuGet résultant peut être ajouté à n’importe quel projet .NET qui prend en charge le profil cible, y compris les projets ASP.NET ou les applications de bureau utilisant WinForms, WPF ou UWP.

La bibliothèque peut uniquement contenir du code pris en charge par le profil PCL ou .NET Standard sélectionné, ainsi que tous les autres NuGets ajoutés. Cela convient à la logique métier et aux algorithmes qui peuvent être exprimés entièrement dans la bibliothèque de classes de base .NET.

Un assembly unique est créé et intégré dans un package NuGet.

Si vous avez besoin ultérieurement de fonctionnalités spécifiques à la plateforme, des projets spécifiques à la plateforme peuvent être ajoutés.

É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 > :

    Capture d’écran montrant Choisir un modèle avec la bibliothèque multiplateforme sélectionnée.

  3. Entrez un nom et une description, puis choisissez Unique pour toutes les plateformes :

    Capture d’écran montrant les valeurs entrées pour Name, Description et Implementation.

  4. Terminez l'Assistant. Un projet de bibliothèque unique est créé dans la solution.

  5. Cliquez avec le bouton droit sur le nouveau projet de bibliothèque, puis sélectionnez Options. La section Build > General permet de définir l’infrastructure cible : choisissez un profil PCL portable .NET ou une version .NET Standard :

    Choisissez PCL ou .NET Standard pour le type de bibliothèque

  6. Également dans la fenêtre Options du projet , 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

  7. Cliquez avec le bouton droit sur le projet de bibliothèque 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 basé sur PCL. Un seul assembly PCL est inclus :

Fichiers contenus dans le package NuGet

Ajout de code Platform-Specific

Les projets basés sur PCL et les projets .NET Standard ne peuvent pas contenir de références spécifiques à la plateforme (telles que les fonctionnalités iOS ou Android).

Si un projet PCL ou .NET Standard existant doit être développé pour inclure du code spécifique à la plateforme, vous pouvez cliquer avec le bouton droit sur le projet et sélectionner Ajouter une > implémentation de plateforme... :

Menu Ajouter une implémentation de plateforme

Un ou plusieurs projets de plateforme peuvent être ajoutés à la solution, et la bibliothèque PCL ou .NET Standard existante peut éventuellement être convertie en projet partagé :

Ajouter des options de plateforme telles qu’iOS, Android et Projet partagé

Après la conversion en projet partagé, accédez à la sectionAssemblys de référence de package > NuGet d’options > de projet et vérifiez que tous les profils requis sont sélectionnés (de sorte que nuGet continue d’être compatible avec les projets où il a été utilisé précédemment).