Kurz: Vytvoření nástroje .NET pomocí rozhraní příkazového řádku .NET

Tento článek se vztahuje na: ✔️ .NET Core 2.1 SDK a novější verze

V tomto kurzu se naučíte, jak vytvořit a zabalit nástroj .NET. Rozhraní .NET CLI umožňuje vytvořit konzolovou aplikaci jako nástroj, který můžou nainstalovat a spustit jiní uživatelé. Nástroje .NET jsou balíčky NuGet, které se instalují z rozhraní příkazového řádku .NET. Další informace o nástrojích najdete v tématu Přehled nástrojů .NET.

Nástroj, který vytvoříte, je konzolová aplikace, která přijímá zprávu jako vstup a zobrazuje zprávu spolu s řádky textu, které vytvářejí obrázek robota.

Toto je první z řady tří kurzů. V tomto kurzu vytvoříte a zabalíte nástroj. V dalších dvou kurzech použijete nástroj jako globální nástroj a použijete ho jako místní nástroj. Postupy pro vytvoření nástroje jsou stejné bez ohledu na to, jestli ho použijete jako globální nástroj nebo jako místní nástroj.

Požadavky

  • .NET SDK 6.0.100 nebo novější verze.

    V tomto kurzu se používá sada .NET SDK 6.0, ale od verze .NET Core SDK 2.1 jsou k dispozici globální nástroje. Místní nástroje jsou k dispozici od verze .NET Core SDK 3.0.

  • Textový editor nebo editor kódu podle vašeho výběru.

Vytvoření projektu

  1. Otevřete příkazový řádek a vytvořte složku s názvem repository.

  2. Přejděte do složky úložiště a zadejte následující příkaz:

    dotnet new console -n microsoft.botsay -f net6.0
    

    Příkaz vytvoří novou složku s názvem microsoft.botsay ve složce úložiště .

    Poznámka

    Pro účely tohoto kurzu vytvoříte nástroj, který cílí na .NET 6.0. Pokud chcete cílit na jinou architekturu, změňte -f|--framework možnost. Pokud chcete cílit na více architektur, změňte TargetFramework element na TargetFrameworks element v souboru projektu, jak je znázorněno v následujícím příkladu:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFrameworks>netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
      </PropertyGroup>
    </Project>
    
  3. Přejděte do složky microsoft.botsay .

    cd microsoft.botsay
    

Přidání kódu

  1. Otevřete soubor Program.cs v editoru kódu.

  2. Nahraďte kód v souboru Program.cs následujícím kódem:

    using System.Reflection;
    
    namespace microsoft.botsay;
    
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
    

    Direktivu using System.Reflection; potřebuje kód, který přidáte v dalším kroku.

  3. Nahraďte metodu Main následujícím kódem pro zpracování argumentů příkazového řádku pro aplikaci.

    static void Main(string[] args)
    {
        if (args.Length == 0)
        {
            var versionString = Assembly.GetEntryAssembly()?
                                    .GetCustomAttribute<AssemblyInformationalVersionAttribute>()?
                                    .InformationalVersion
                                    .ToString();
    
            Console.WriteLine($"botsay v{versionString}");
            Console.WriteLine("-------------");
            Console.WriteLine("\nUsage:");
            Console.WriteLine("  botsay <message>");
            return;
        }
    
        ShowBot(string.Join(' ', args));
    }
    

    Pokud nejsou předány žádné argumenty, zobrazí se krátká zpráva nápovědy. V opačném případě jsou všechny argumenty zřetězeny do jednoho řetězce a vytištěny voláním ShowBot metody, kterou vytvoříte v dalším kroku.

  4. Přidejte novou metodu s názvem ShowBot , která přebírá řetězcový parametr. Metoda vytiskne zprávu a obrázek robota pomocí řádků textu.

    static void ShowBot(string message)
    {
        string bot = $"\n        {message}";
        bot += @"
        __________________
                          \
                           \
                              ....
                              ....'
                               ....
                            ..........
                        .............'..'..
                     ................'..'.....
                   .......'..........'..'..'....
                  ........'..........'..'..'.....
                 .'....'..'..........'..'.......'.
                 .'..................'...   ......
                 .  ......'.........         .....
                 .    _            __        ......
                ..    #            ##        ......
               ....       .                 .......
               ......  .......          ............
                ................  ......................
                ........................'................
               ......................'..'......    .......
            .........................'..'.....       .......
         ........    ..'.............'..'....      ..........
       ..'..'...      ...............'.......      ..........
      ...'......     ...... ..........  ......         .......
     ...........   .......              ........        ......
    .......        '...'.'.              '.'.'.'         ....
    .......       .....'..               ..'.....
       ..       ..........               ..'........
              ............               ..............
             .............               '..............
            ...........'..              .'.'............
           ...............              .'.'.............
          .............'..               ..'..'...........
          ...............                 .'..............
           .........                        ..............
            .....
    ";
        Console.WriteLine(bot);
    }
    
  5. Uložte provedené změny.

Testování aplikace

Spusťte projekt a podívejte se na výstup. Vyzkoušejte tyto varianty na příkazovém řádku, abyste viděli různé výsledky:

dotnet run
dotnet run -- "Hello from the bot"
dotnet run -- Hello from the bot

Všechny argumenty za oddělovačem -- jsou předány vaší aplikaci.

Zabalení nástroje

Než budete moct aplikaci zabalit a distribuovat jako nástroj, musíte upravit soubor projektu.

  1. Otevřete soubor microsoft.botsay.csproj a přidejte tři nové uzly XML na konec <PropertyGroup> uzlu:

    <PackAsTool>true</PackAsTool>
    <ToolCommandName>botsay</ToolCommandName>
    <PackageOutputPath>./nupkg</PackageOutputPath>
    

    <ToolCommandName> je volitelný prvek, který určuje příkaz, který vyvolá nástroj po jeho instalaci. Pokud tento prvek není zadaný, název příkazu nástroje je název sestavení, což je obvykle název souboru projektu bez přípony .csproj .

    <PackageOutputPath> je volitelný prvek, který určuje, kde bude balíček NuGet vytvořen. Balíček NuGet používá rozhraní příkazového řádku .NET k instalaci nástroje.

    Soubor projektu teď vypadá jako v následujícím příkladu:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
    
        <OutputType>Exe</OutputType>
        <TargetFramework>net6.0</TargetFramework>
    
        <PackAsTool>true</PackAsTool>
        <ToolCommandName>botsay</ToolCommandName>
        <PackageOutputPath>./nupkg</PackageOutputPath>
    
      </PropertyGroup>
    
    </Project>
    
  2. Spuštěním příkazu dotnet pack vytvořte balíček NuGet:

    dotnet pack
    

    Soubor microsoft.botsay.1.0.0.nupkg je vytvořen ve složce identifikované <PackageOutputPath> hodnotou ze souboru microsoft.botsay.csproj , což je v tomto příkladu složka ./nupkg .

    Pokud chcete veřejně vydat nástroj, můžete ho nahrát do https://www.nuget.org. Jakmile je nástroj dostupný na NuGetu, můžou ho vývojáři nainstalovat pomocí příkazu dotnet tool install . Pro účely tohoto kurzu nainstalujete balíček přímo z místní složky nupkg , takže ho nemusíte nahrávat do NuGetu.

Řešení potíží

Pokud se při sledování kurzu zobrazí chybová zpráva, přečtěte si téma Řešení potíží s využitím nástrojů .NET.

Další kroky

V tomto kurzu jste vytvořili konzolovou aplikaci a zabalili ji jako nástroj. Pokud se chcete naučit používat tento nástroj jako globální nástroj, přejděte k dalšímu kurzu.

Pokud chcete, můžete kurz globálních nástrojů přeskočit a přejít přímo na kurz místních nástrojů.