.NET Core - Partage de bibliothèques

Dans ce chapitre, nous verrons comment partager votre bibliothèque en NuGet Packageafin qu'il puisse être consommé dans un autre projet. La création d'un package commence par le code que vous souhaitez empaqueter et partager avec d'autres, soit via la galerie publique nuget.org ou une galerie privée au sein de votre organisation. Le package peut également inclure des fichiers supplémentaires tels qu'unreadme qui s'affiche lorsque le package est installé et peut inclure des transformations vers certains fichiers de projet.

Considérons maintenant un exemple simple dans lequel nous allons créer un package NuGet à partir de notre bibliothèque. Pour ce faire, ouvrez l'invite de commande et accédez au dossier où se trouve le fichier project.json de votre projet de bibliothèque.

Exécutons maintenant la commande suivante.

dotnet help

À la fin, vous pouvez voir différentes commandes comme new, restaurer et construire, etc.

La dernière commande est pack;cela créera un package NuGet. Exécutons maintenant la commande suivante.

dotnet pack

Vous pouvez maintenant voir que les packages NuGet sont produits dans le dossier bin; ouvrons le dossier bin \ Debug.

Maintenant, la question est de savoir ce qu'il y a à l'intérieur des packages NuGet, pour voir que nous pouvons utiliser NuGet Package Explorer. Ouvrons maintenant l'explorateur de packages NuGet.

Sélectionnez la première option Open a local package.

Sélectionnez le StringLibrary.1.0.0.nupkg et cliquez Open.

Vous pouvez voir que dans la section Contenu du package, nous n'avons que StringLibrary.dll. Dans la section Métadonnées du package, vous verrez un peu d'informations sur cette bibliothèque comme l'ID, les versions et toutes les dépendances.

Ouvrons maintenant le StringLibrary.1.0.0.symbols.nupkg.

Dans ce package NuGet, vous verrez les fichiers source et le *.pdbfichier ainsi. Si vous double-cliquez sur leStringLib.cs fichier, vous voyez également le code source.

Ici, la question est de savoir comment configurer les métadonnées telles que la version, les auteurs et la description, etc.

Le fichier project.json est utilisé sur les projets .NET Core pour définir les métadonnées du projet, les informations de compilation et les dépendances. Ouvrons maintenant le fichier project.json et ajoutons les informations supplémentaires suivantes.

{ 
   "authors": [ "Mark Junior" ], 
   "description": "String Library API", 
   "version" : "1.0.1-*", 
   "supports": {}, 
   
   "dependencies": { 
      "Microsoft.EntityFrameworkCore": "1.1.0", 
      "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
      "NETStandard.Library": "1.6.0", 
      "System.Runtime.Serialization.Json": "4.0.3", 
      "System.Runtime.Serialization.Primitives": "4.3.0" 
   }, 
   "frameworks": { 
      "netstandard1.3": {} 
   } 
}

Vous pouvez maintenant voir des informations supplémentaires telles que le nom de l'auteur, la description et la version ajoutées ici. Sauvegardons ce fichier, construisons le projet de bibliothèque, puis exécutons à nouveau la commande «dotnet pack».

Dans le dossier bin \ Debug, vous pouvez voir que les packages NuGet StringLibrary sont produits avec la version 1.0.1; ouvrons-le dans NuGet Package Explorer.

Vous verrez les métadonnées mises à jour. La question est maintenant de savoir comment l'utiliser dans un autre package.

Nous devons commencer par publier quelque part dans le flux NuGet, puis nous pouvons le consommer dans un autre projet.

Il existe deux options pour publier les métadonnées mises à jour -

  • Publiez-le sur nuget.org
  • Transférer les métadonnées vers un flux NuGet privé

Ici, nous utiliserons le flux NuGet privé, car il est beaucoup plus facile que de configurer un compte sur nuget.org. Pour savoir comment publier votre package sur nuget.org, vous pouvez suivre toutes les instructions spécifiées icihttps://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package.

Suivez ces étapes pour transmettre les métadonnées mises à jour au flux NuGet privé.

Step 1- Pour commencer, nous avons besoin de l'utilitaire de ligne de commande nuget et nous devons l'installer. Ouvrons maintenant le gestionnaire de packages NuGet et recherchons nuget.commandline.

Step 2 - Sélectionnez Nuget.Commandline et cliquez sur Install.

Step 3 - Cliquez OKpour installer Nuget.Commandline. Vous pouvez également l'installer manuellement en le téléchargeant à partir de l'URL suivantehttps://dist.nuget.org/index.html puis configurez la variable d'environnement.

Step 4 - Une fois l'installation terminée, ouvrons à nouveau l'invite de commande et allons dans le bin\Debug dossier où se trouvent les packages NuGet et spécifiez la commande suivante -

nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages

Step 5 - Dans la commande ci-dessus, nous ajoutons le package StringLibrary.1.0.1.nupkg à notre flux privé et l'emplacement est D:\PrivateNugetPackages, -Source spécifie la source du package.

Step 6 - Vous pouvez voir que le StringLibraryest installé; laStringLibrary peut en outre être ajouté au flux privé.

Step 7 - Allons dans ce dossier.

Step 8 - À l'intérieur du stringlibrary dossier, vous verrez un autre dossier avec le nom de la version et ici c'est 1.0.1.

Le package NuGet se trouve ici.