Esercizio - Installare i pacchetti

Completato

Gli sviluppatori di Tailwind Traders hanno intenzione di dedicare un numero elevato di risorse allo sviluppo di app per la piattaforma .NET. Queste app visualizzeranno agli utenti dati leggibili, tra cui date, orari e numeri.

.NET include le funzionalità a questo scopo, ma gli sviluppatori sono sicuri che qualcuno ha già risolto questo problema. Hanno bisogno di un framework. Dopo qualche ricerca, trovano Humanizer nel registro dei pacchetti NuGet. Sembra ampiamente usato e promette di soddisfare tutte le esigenze relative a .NET per la modifica e la visualizzazione di stringhe, enumerazioni, date, intervalli di tempo, numeri e quantità.

A questo punto, gli sviluppatori vogliono semplicemente installare Humanizer, scrivere un paio di modifiche ai dati ed eseguirle per verificare se Humanizer mantiene le promesse.

Nota

In questo modulo vengono usati l'interfaccia della riga di comando di.NET e Visual Studio Code per lo sviluppo locale. Dopo aver completato questo modulo, è possibile applicare i concetti usando Visual Studio (Windows) o lo sviluppo continuo usando Visual Studio Code (Windows, Linux e macOS).

Questo modulo usa .NET 8.0 SDK. Assicurarsi di avere installato .NET 8.0 eseguendo il comando seguente nel terminale dei comandi preferito:

dotnet --list-sdks

Verrà visualizzato un output simile all'esempio seguente:

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

Assicurarsi che sia elencata una versione che inizia con 8. Se il comando non è presente nell'elenco o non viene trovato, installare la versione più recente di .NET 8.0 SDK.

Creare un progetto .NET di esempio

Per configurare un progetto .NET in modo che funzioni con le dipendenze, viene usato Visual Studio Code. Visual Studio Code include un terminale integrato, che semplifica la creazione di un nuovo progetto. Se non si vuole usare un altro editor di codice, è possibile eseguire i comandi in questo modulo in un terminale.

  1. In Visual Studio Code selezionare File>Apri cartella.

  2. Creare una nuova cartella denominata DotNetDependencies in un percorso a scelta e quindi selezionare Seleziona cartella.

  3. Aprire il terminale integrato da Visual Studio Code selezionando Visualizza>Terminale nel menu principale.

  4. Copiare e incollare il comando seguente nella finestra del terminale:

    dotnet new console -f net8.0
    

    Questo comando crea un file Program.cs nella cartella con un programma "Hello World" di base già scritto, insieme a un file di progetto C# denominato DotNetDependencies.csproj.

    A questo punto dovrebbe essere possibile accedere a questi file.

    -| obj
    -| DotNetDependencies.csproj
    -| Program.cs
    
  5. Nella finestra del terminale copiare e incollare il comando seguente per eseguire il programma "Hello World".

    dotnet run
    

La finestra del terminale visualizza l'output "Hello World!".

Screenshot of Visual Studio Code with a new console application.

Configurare Visual Studio Code per il debug di .NET

Aprire Program.cs. Quando si apre un file C# in Visual Studio Code per la prima volta, verrà visualizzata la richiesta di installare le estensioni consigliate per C#. Selezionare il pulsante Installa nella richiesta.

Screenshot of the Visual Studio Code prompt for recommended extensions.

Visual Studio Code installa l'estensione C#. Viene visualizzata un'altra richiesta relativa all'aggiunta degli asset necessari per compilare il progetto ed eseguirne il debug. Selezionare .

Screenshot of the Visual Studio Code prompt for required assets.

È possibile chiudere la scheda Extension: C# (Estensione: C#) per concentrarsi sul codice da scrivere.

Aggiungere un pacchetto NuGet usando lo strumento .NET Core

  1. Aprire Program.cs. La cartella dovrebbe avere un aspetto simile a questo:

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

    La funzione precedente viene eseguita all'inizio dell'applicazione e restituisce una stringa alla console. Aggiungere Humanizer, modificare i dati e scriverli nella console.

  2. Installare la libreria Humanizer eseguendo il comando seguente:

    dotnet add package Humanizer --version 2.7.9
    

    Aprire il file DotNetDependencies.csproj e individuare la sezione ItemGroup. A questo punto dovrebbe essere presente una voce simile alla seguente:

    <ItemGroup>
        <PackageReference Include="Humanizer" Version="2.7.9" />
    </ItemGroup>
    
  3. Aggiungere il contenuto seguente all'inizio del file Program.cs per inizializzare Humanizer:

    using Humanizer;
    

    Il file Program.cs ora dovrebbe avere questo aspetto:

    using Humanizer;
    
    Console.WriteLine("Hello, World!");
    
  4. Aggiungere il contenuto seguente alla fine del file Program.cs sotto 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. Sostituire Console.WriteLine("Hello, World!"); con il codice seguente:

    Console.WriteLine("Quantities:");
    HumanizeQuantities();
    
    Console.WriteLine("\nDate/Time Manipulation:");
    HumanizeDates();
    
  6. Salvare il file (File>Salva o CTRL+S). Eseguire l'applicazione immettendo il comando seguente nel terminale:

    dotnet run
    

    Dovrebbe essere visualizzato l'output seguente:

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

Congratulazioni. è stato installato correttamente Humanizer come dipendenza ed è stata scritta la logica per il codice dell'applicazione per rendere i dati più leggibili. Sembra che Humanizer funzioni come previsto e Tailwind Traders sarà probabilmente soddisfatta di questa valutazione.