Упражнение. Установка пакетов

Завершено

Разработчики из компании Tailwind Traders понимают, что разработка приложений для платформы .NET потребует вложения серьезных ресурсов. Эти приложения будут отображать для пользователей много понятных человеку данных, включая даты, время и числа.

.NET имеет возможности для разработки этого приложения, но разработчики уверены, что кто-то уже решил эту проблему. Им необходима платформа. После некоторого поиска они находят Humanizer в реестре пакетов NuGet. Кажется, она широко используется и обещает удовлетворить все их потребности в .NET. В частности, управление строками, перечислениями, датами, временем, интервалами времени, числами и количествами.

На этом этапе разработчики хотят, чтобы вы установили Humanizer, написали несколько манипуляций с данными и запустили их, чтобы убедиться, что Humanizer соответствует своим обещаниям.

Примечание.

В этом модуле используются .NET CLI (интерфейс командной строки) и Visual Studio Code для локальной разработки. После выполнения этого модуля можно применить основные понятия с помощью Visual Studio (Windows) или продолжения разработки с помощью Visual Studio Code (Windows, Linux и macOS).

В этом модуле используется пакет SDK для .NET 8.0. Убедитесь, что установлен .NET 8.0, выполнив следующую команду в предпочтительном терминале команд:

dotnet --list-sdks

Выходные данные, аналогичные следующему примеру, отображаются:

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

Убедитесь, что в списке есть версия, которая начинается с цифры 8. Если нет списка или команда не найдена, установите последний пакет SDK для .NET 8.0.

Создание примера проекта .NET

Чтобы настроить проект .NET для работы с зависимостями, мы используем Visual Studio Code. Visual Studio Code содержит встроенный терминал, который упрощает создание проектов. Если вы не хотите использовать другой редактор кода, вы можете выполнять команды из этого модуля в терминале.

  1. В Visual Studio Code выберите пункты меню Файл>Открыть папку.

  2. Создайте в произвольном месте папку с именем DotNetDependencies и нажмите кнопку Выбрать папку.

  3. Откройте интегрированный терминал Visual Studio Code, выбрав Вид>Терминал в главном меню.

  4. Скопируйте и вставьте следующую команду в окно терминала:

    dotnet new console -f net8.0
    

    Эта команда создает файл Program.cs в папке с простой программой Hello World, которая была написана ранее, а также файл проекта C# с именем DotNetDependencies.csproj.

    У вас должен появиться доступ к этим файлам.

    -| obj
    -| DotNetDependencies.csproj
    -| Program.cs
    
  5. Чтобы запустить программу Hello World, скопируйте и вставьте следующую команду в окно терминала.

    dotnet run
    

В окне терминала отображается "Hello, world!" в качестве выходных данных.

Снимок экрана: Visual Studio Code с новым консольным приложением

Настройте Visual Studio Code для отладки на платформе .NET.

Откройте Program.cs. Когда вы впервые открываете файл C# в Visual Studio Code, появляется запрос на установку рекомендуемых расширений для C#. Нажмите кнопку Установить.

Снимок экрана: запрос на установку рекомендуемых расширений в Visual Studio Code

Visual Studio Code установит расширение C#. В нем показан другой запрос на добавление необходимых ресурсов для сборки и отладки проекта. Выберите Да.

Снимок экрана: запрос необходимых ресурсов в Visual Studio Code

Вы можете закрыть вкладку Extension: C# , чтобы сосредоточиться на написанном коде.

Добавление пакета NuGet с помощью средства .NET Core

  1. Откройте Program.cs. Он должен выглядеть так:

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

    Предыдущая функция выполняется в начале приложения и выводит строку в консоль. Давайте добавим Humanizer, обработаем данные и запишем их в консоль.

  2. Установите библиотеку Humanizer с помощью следующей команды.

    dotnet add package Humanizer --version 2.7.9
    

    Откройте файл DotNetDependencies.csproj и найдите раздел ItemGroup. Теперь у вас должна быть запись, которая выглядит следующим образом:

    <ItemGroup>
        <PackageReference Include="Humanizer" Version="2.7.9" />
    </ItemGroup>
    
  3. Добавьте следующее содержимое в верхней части файла Program.cs, который инициализирует Humanizer:

    using Humanizer;
    

    Файл Program.cs должен выглядеть примерно так:

    using Humanizer;
    
    Console.WriteLine("Hello, World!");
    
  4. Добавьте следующее содержимое в файл Program.cs в нижнюю часть файла под 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. Замените Console.WriteLine("Hello, World!"); следующим кодом:

    Console.WriteLine("Quantities:");
    HumanizeQuantities();
    
    Console.WriteLine("\nDate/Time Manipulation:");
    HumanizeDates();
    
  6. Сохраните файл (Файл>Сохранить или CTRL + S). Запустите приложение, выполнив в терминале следующую команду.

    dotnet run
    

    Вы должны увидеть следующие выходные данные:

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

Поздравляем. Вы успешно установили Humanizer в качестве зависимости и письменной логики для кода приложения, чтобы сделать данные более читаемыми для человека. Humanizer, похоже, соответствует заявленным характеристикам, и компания Tailwind Traders, скорее всего, будет рада такой оценке.