Exercício – Instalar pacotes

Concluído

Os desenvolvedores da Tailwind Traders sabem que estão prestes a dedicar recursos extensivos ao desenvolvimento de aplicativos para a plataforma .NET. Esses aplicativos exibirão aos usuários dados que podem ser lidos por pessoas, incluindo datas, horas e números.

O .NET tem as funcionalidades para fazer isso, mas os desenvolvedores sabem que alguém já resolveu esse problema. Eles precisam de uma estrutura. Após algumas pesquisas, eles encontraram o Humanizer no registro de pacotes do NuGet. Ele parece ser amplamente usado e promete atender a todas as necessidades do .NET para manipular e exibir cadeias de caracteres, enumerações, datas, horas, tempos de duração, números e quantidades.

A essa altura, os desenvolvedores querem apenas que você instale o Humanizer, escreva algumas manipulações de dados e as execute para ver se o Humanizer cumpre a promessa.

Observação

Este módulo usa a CLI (interface de linha de comando) do .NET e o Visual Studio Code para desenvolvimento local. Depois de concluir este módulo, você poderá aplicar os conceitos usando o Visual Studio (Windows) ou o desenvolvimento contínuo usando o Visual Studio Code (Windows, Linux e macOS).

Este módulo usa o SDK do .NET 8.0. Verifique se você tem o .NET 8.0 instalado executando o seguinte comando em seu terminal de comando preferencial:

dotnet --list-sdks

Uma saída semelhante ao seguinte exemplo aparece:

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

Verifique se uma versão que começa com 8 está listada. Se nenhum estiver listado ou o comando não for encontrado, instale o SDK do .NET 8.0 mais recente.

Criar um projeto .NET de exemplo

Para configurar o projeto do .NET a fim de trabalhar com dependências, usaremos o Visual Studio Code. O Visual Studio Code inclui um terminal integrado, o que facilita a criação de projetos. Se você não quiser usar outro editor de código, poderá executar os comandos deste módulo em um terminal.

  1. No Visual Studio Code, escolha Arquivo>Abrir Pasta.

  2. Crie uma nova pasta chamada DotNetDependencies no local de sua preferência e escolha Selecionar Pasta.

  3. No Visual Studio Code, abra o terminal integrado selecionando Exibir>Terminal no menu principal.

  4. Na janela do terminal, copie e cole o seguinte comando:

    dotnet new console -f net8.0
    

    Esse comando cria um arquivo Program.cs em sua pasta com um programa básico "Olá, Mundo" já escrito, junto com um arquivo de projeto em C# chamado DotNetDependencies.csproj.

    Você já deverá ter acesso a esses arquivos.

    -| obj
    -| DotNetDependencies.csproj
    -| Program.cs
    
  5. Na janela do terminal, copie e cole o seguinte comando para executar o programa "Olá, Mundo".

    dotnet run
    

A janela do terminal exibe "Olá, Mundo!" como a saída.

Screenshot of Visual Studio Code with a new console application.

Configurar o Visual Studio Code para a depuração do .NET

Abra Program.cs. Na primeira vez que você abrir um arquivo em C# no Visual Studio Code, receberá um prompt para instalar as extensões recomendadas para o C#. Selecione o botão Instalar do prompt.

Screenshot of the Visual Studio Code prompt for recommended extensions.

O Visual Studio Code instala a extensão para C#. Ele mostra um outro prompt para adicionar os ativos necessários para compilar e depurar seu projeto. Selecione Sim na barra superior.

Screenshot of the Visual Studio Code prompt for required assets.

Você pode fechar a guia Extensão: C# para se concentrar no código que escreveremos.

Adicionar um pacote do NuGet usando a ferramenta .Net Core

  1. Abra Program.cs. Ele deverá ser parecido com:

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

    A função anterior é executada no início do aplicativo e dá saída a uma cadeia de caracteres no console. Vamos adicionar o Humanizer e manipular dados e gravá-los no console.

  2. Instale a biblioteca do Humanizer executando o seguinte comando:

    dotnet add package Humanizer --version 2.7.9
    

    Abra o arquivo DotNetDependencies.csproj e localize a seção ItemGroup. Agora, você deve ter uma entrada parecida com esta:

    <ItemGroup>
        <PackageReference Include="Humanizer" Version="2.7.9" />
    </ItemGroup>
    
  3. Adicione o seguinte conteúdo na parte superior do arquivo Program.cs a fim de inicializar o Humanizer:

    using Humanizer;
    

    Agora Program.cs será parecido com isto:

    using Humanizer;
    
    Console.WriteLine("Hello, World!");
    
  4. Adicione o seguinte conteúdo ao arquivo Program.cs no final do arquivo em 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. Substitua Console.WriteLine("Hello, World!"); pelo seguinte código:

    Console.WriteLine("Quantities:");
    HumanizeQuantities();
    
    Console.WriteLine("\nDate/Time Manipulation:");
    HumanizeDates();
    
  6. Salve o arquivo (Arquivo>Salvar ou CTRL + S). Execute o aplicativo por meio do seguinte comando no terminal:

    dotnet run
    

    Você verá a seguinte saída:

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

Parabéns. Você instalou o Humanizer com sucesso como uma dependência e escreveu lógica para o código do aplicativo a fim de tornar os dados mais legíveis por pessoas. O Humanizer parece cumprir sua promessa e a Tailwind Traders provavelmente ficará feliz com essa avaliação.