Exercice – Installer des packages

Effectué

Les développeurs de Tailwind Traders se rendent compte qu’ils sont sur le point de placer de nombreuses ressources dans le développement d’applications pour la plateforme .NET. Ces applications vont présenter des données explicites aux utilisateurs, notamment des dates, heures et nombres.

.NET offre les fonctionnalités nécessaires pour développer cette application, mais les développeurs sont persuadés que quelqu’un a déjà résolu ce problème. Ils ont besoin d’un framework. Après quelques recherches, ils trouvent Humanizer dans le registre de packages NuGet. Il semble être largement utilisé et promet de répondre à tous leurs besoins .NET. Plus spécifiquement, il s’agit de la manipulation et de l’affichage de chaînes, d’énumérations, de dates, d’heures, d’intervalles de temps, de nombres et de quantités.

À ce stade, les développeurs vous demandent d’installer Humanizer, d’écrire quelques manipulations de données et de les exécuter pour voir si Humanizer tient ses promesses.

Notes

Ce module utilise l’interface CLI .NET et Visual Studio Code pour le développement local. Après avoir complété ce module, vous pouvez appliquer les concepts à l’aide de Visual Studio (Windows) ou poursuivre le développement à l’aide de Visual Studio Code (Windows, Linux et macOS).

Ce module utilise le kit de développement logiciel (SDK) .NET 8.0. Assurez-vous que .NET 8.0 est installé en exécutant la commande suivante dans votre terminal de commandes préféré :

dotnet --list-sdks

Une sortie semblable à l’exemple suivant s’affiche :

6.0.317 [C:\Program Files\dotnet\sdk]
7.0.401 [C:\Program Files\dotnet\sdk]
8.0.100 [C:\Program Files\dotnet\sdk]

Vérifiez que la liste comporte une version commençant par 8. S’il n’y en a pas ou que la commande est introuvable, installez la dernière version du kit de développement logiciel (SDK) .NET 8.0.

Créer un exemple de projet .NET

Pour configurer un projet .NET de manière à ce qu’il fonctionne avec des dépendances, nous utilisons Visual Studio Code. Visual Studio Code comprend un terminal intégré qui facilite la création d’un projet. Si vous ne voulez pas utiliser un autre éditeur de code, vous pouvez exécuter les commandes de ce module dans un terminal.

  1. Dans Visual Studio Code, sélectionnez Fichier>Ouvrir un dossier.

  2. Créez un dossier nommé DotNetDependencies à l’emplacement de votre choix, puis cliquez sur Sélectionner un dossier.

  3. Ouvrez le terminal intégré à partir de Visual Studio Code en sélectionnant Affichage>Terminal dans le menu principal.

  4. Dans la fenêtre de terminal, copiez et collez la commande suivante :

    dotnet new console -f net8.0
    

    Cette commande crée un fichier Program.cs dans votre dossier avec un programme « Hello World » de base déjà écrit, ainsi qu’un fichier projet C# nommé DotNetDependencies.csproj.

    Vous avez maintenant accès à ces fichiers.

    -| obj
    -| DotNetDependencies.csproj
    -| Program.cs
    
  5. Dans la fenêtre de terminal, copiez et collez la commande suivante pour exécuter le programme « Hello World ».

    dotnet run
    

La fenêtre de terminal affiche « Hello World ! » comme sortie.

Capture d’écran de Visual Studio Code avec une nouvelle application console.

Configurer Visual Studio Code pour le débogage de .NET

Ouvrez le fichier Program.cs. La première fois que vous ouvrez un fichier C# dans Visual Studio Code, vous recevez une invite à installer les extensions recommandées pour C#. Sélectionnez le bouton Installer dans l’invite.

Capture d’écran de l’invite Visual Studio Code pour les extensions recommandées.

Visual Studio Code installe l’extension C#. Une autre requête s’affiche pour ajouter les ressources nécessaires afin de générer et déboguer votre projet. Sélectionnez Oui.

Capture d’écran de l’invite Visual Studio Code pour les ressources nécessaires.

Vous pouvez fermer l’onglet Extension : C# pour vous concentrer sur le code à écrire.

Ajouter un package NuGet à l’aide de l’outil .NET Core

  1. Ouvrez Program.cs. Il doit se présenter comme suit :

    Console.WriteLine("Hello, World!");
    

    La fonction précédente s’exécute au début de l’application et envoie en sortie une chaîne à la console. Ajoutez Humanizer, manipulez les données et écrivez-les dans la console.

  2. Installez la bibliothèque Humanizer en exécutant la commande suivante :

    dotnet add package Humanizer --version 2.7.9
    

    Ouvrez le fichier DotNetDependencies.csproj et recherchez la section ItemGroup. Vous devez maintenant avoir une entrée similaire à celle-ci :

    <ItemGroup>
        <PackageReference Include="Humanizer" Version="2.7.9" />
    </ItemGroup>
    
  3. Ajoutez le contenu suivant en haut du fichier Program.cs qui initialise Humanizer :

    using Humanizer;
    

    Votre fichier Program.cs doit maintenant se présenter comme ceci :

    using Humanizer;
    
    Console.WriteLine("Hello, World!");
    
  4. Ajoutez le contenu suivant au fichier Program.cs en bas, sous Console.WriteLine("Hello, World!"); :

    static void HumanizeQuantities()
    {
        Console.WriteLine("case".ToQuantity(0));
        Console.WriteLine("case".ToQuantity(1));
        Console.WriteLine("case".ToQuantity(5));
    }
    
    static void HumanizeDates()
    {
        Console.WriteLine(DateTime.UtcNow.AddHours(-24).Humanize());
        Console.WriteLine(DateTime.UtcNow.AddHours(-2).Humanize());
        Console.WriteLine(TimeSpan.FromDays(1).Humanize());
        Console.WriteLine(TimeSpan.FromDays(16).Humanize());
    }
    
  5. Remplacez Console.WriteLine("Hello, World!"); par le code suivant :

    Console.WriteLine("Quantities:");
    HumanizeQuantities();
    
    Console.WriteLine("\nDate/Time Manipulation:");
    HumanizeDates();
    
  6. Enregistrez le fichier (Fichier>Enregistrer ou Ctrl+S). Lancez l’application en exécutant la commande suivante dans le terminal :

    dotnet run
    

    Vous devez obtenir la sortie suivante :

    Quantities:
    0 cases
    1 case
    5 cases
    
    Date/Time Manipulation:
    yesterday
    2 hours ago
    1 day
    2 weeks
    

Félicitations ! Vous avez réussi à installer Humanizer en tant que dépendance et à écrire une logique pour le code de l’application afin de rendre les données plus explicites. Humanizer semble tenir ses promesses : Tailwind Traders devrait être satisfaite de cette évaluation.