Depot

Nuget est un formidable outil qui permet de gérer facilement les dépendances de notre projet. Plus besoin de copier manuellement les dlls ou de dupliquer notre code, Nuget centralise tout et nous facilite la réutilisation du code. En général, on utilise le site officiel nuget.org pour récupérer les packages. Mais il est possible créer ses propres packages, qu’on pourra héberger sur un serveur, un disque réseau ou sur notre disque dur. Voyons comment faire.

Première chose à faire, créer une bibliothèque de classes .NET Standard.

Bibliothèque .NET Standard

On crée la méthode qu’on souhaite partager.

namespace ClassLibrary2
{
    public class Class1
    {
        public static int Calc(int x, int y)
        {
            return x + y;
        }

    }
}

Ensuite, on va dans les propriétés du projet et on coche « Générer le package Nuget en même temps que la build »

Propriétés du projet

On lance la création du package Nuget avec un clic droit sur le projet puis Compresser. Un package n’est rien d’autre qu’une archive.

Création du package

Vous pouvez voir le package (extension nupkg), dans le dossier de sortie de votre projet.

Pour la partie suivante, on aura besoin de l’exécutable de nuget (nuget.exe). Téléchargez le sur Nuget.org. Copiez le par exemple dans C:\Windows\System32 pour pouvoir utiliser la commande nuget depuis l’invite de commande (cmd).

Lancez l’invite de commande windows (cmd). Déplacez vous dans le dossier (cd…) où se trouve votre fichier nupkg. Lancez la commande suivante dans l’invite de commande:

nuget add ClassLibrary2.1.0.0.nupkg -source  c:\monrepo

Dans mon exemple, c:\monrepo est le dossier qui me sert de repo nuget. Si tout se passe bien, vous devriez avoir un message de ce type:

Vous pouvez maintenant utiliser votre package dans un autre projet. Créez un nouveau projet de type console, par exemple. Cliquez droit sur le projet créé puis « Gérer les packages Nuget ».

Gérer les sources du package, en cliquant sur le bouton en rouge.

Le fonctionnement de l’écran suivant n’est pas toujours très clair. 1 – Cliquez d’abord sur « plus ». Une nouvelle source se crée avec les valeurs par défaut. 2 – Remplacez les valeurs, par défaut par Nom, le nom de votre source, le choix est libre et source la localisation de votre source, dans mon exemple c:\monrepo. 3 – Cliquez ensuite sur « Mettre à jour » puis 4 – sur OK.

Votre source devrait apparaître dans la liste des sources. Sélectionnez la et votre package s’affichera.

Vous pouvez l’installer et l’utiliser dans votre projet.

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int res = ClassLibrary2.Class1.Calc(2, 3);
        }
    }
}

Voilà! Pas très compliqué comme vous pouvez le constater. Ça évite de dupliquer du code et s’embêter avec les dépendances.

Auteur : Daniel MINKO FASSINOU

Laisser un commentaire




Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.