Delen via


Zelfstudie: Een .NET-hulpprogramma maken met behulp van de .NET CLI

Dit artikel is van toepassing op: ✔️ .NET Core 2.1 SDK en latere versies

In deze zelfstudie leert u hoe u een .NET-hulpprogramma maakt en verpakt. Met de .NET CLI kunt u een consoletoepassing maken als hulpprogramma, dat anderen kunnen installeren en uitvoeren. .NET-hulpprogramma's zijn NuGet-pakketten die zijn geïnstalleerd vanuit de .NET CLI. Zie het overzicht van .NET-hulpprogramma's voor meer informatie over hulpprogramma's.

Het hulpprogramma dat u maakt, is een consoletoepassing die een bericht als invoer gebruikt en het bericht weergeeft, samen met tekstregels die de afbeelding van een robot maken.

Dit is de eerste in een reeks van drie zelfstudies. In deze zelfstudie maakt en verpakt u een hulpprogramma. In de volgende twee zelfstudies gebruikt u het hulpprogramma als een globaal hulpprogramma en gebruikt u het hulpprogramma als een lokaal hulpprogramma. De procedures voor het maken van een hulpprogramma zijn hetzelfde, ongeacht of u het gebruikt als een algemeen hulpprogramma of als een lokaal hulpprogramma.

Vereiste voorwaarden

  • .NET SDK 6.0.100 of een latere versie.

    In deze zelfstudie wordt .NET SDK 6.0 gebruikt, maar er zijn globale hulpprogramma's beschikbaar vanaf .NET Core SDK 2.1. Lokale hulpprogramma's zijn beschikbaar vanaf .NET Core SDK 3.0.

  • Een teksteditor of code-editor naar keuze.

Een project maken

  1. Open een opdrachtprompt en maak een map met de naam opslagplaats.

  2. Navigeer naar de map opslagplaats en voer de volgende opdracht in:

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

    Met de opdracht maakt u een nieuwe map met de naam microsoft.botsay onder de map opslagplaats .

    Opmerking

    Voor deze zelfstudie maakt u een hulpprogramma dat is gericht op .NET 6.0. Als u een ander framework wilt toepassen, wijzigt u de -f|--framework optie. Als u meerdere frameworks wilt toepassen, wijzigt u het TargetFramework element in een TargetFrameworks element in het projectbestand, zoals wordt weergegeven in het volgende voorbeeld:

    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFrameworks>net8.0;net6.0</TargetFrameworks>
      </PropertyGroup>
    </Project>
    
  3. Navigeer naar de map microsoft.botsay .

    cd microsoft.botsay
    

Code toevoegen

  1. Open het Program.cs-bestand met de code-editor.

  2. Vervang de code in Program.cs door de volgende code:

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

    De using System.Reflection; instructie is nodig voor code die u in de volgende stap toevoegt.

  3. Vervang de Main methode door de volgende code om de opdrachtregelargumenten voor de toepassing te verwerken.

    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));
    }
    

    Als er geen argumenten worden doorgegeven, wordt er een kort Help-bericht weergegeven. Anders worden alle argumenten samengevoegd in één tekenreeks en afgedrukt door de ShowBot methode aan te roepen die u in de volgende stap maakt.

  4. Voeg een nieuwe methode toe met de naam ShowBot die een tekenreeksparameter gebruikt. Met de methode worden het bericht en een afbeelding van een robot afgedrukt met behulp van tekstregels.

    static void ShowBot(string message)
    {
        string bot = $"\n        {message}";
        bot += @"
        __________________
                          \
                           \
                              ....
                              ....'
                               ....
                            ..........
                        .............'..'..
                     ................'..'.....
                   .......'..........'..'..'....
                  ........'..........'..'..'.....
                 .'....'..'..........'..'.......'.
                 .'..................'...   ......
                 .  ......'.........         .....
                 .    _            __        ......
                ..    #            ##        ......
               ....       .                 .......
               ......  .......          ............
                ................  ......................
                ........................'................
               ......................'..'......    .......
            .........................'..'.....       .......
         ........    ..'.............'..'....      ..........
       ..'..'...      ...............'.......      ..........
      ...'......     ...... ..........  ......         .......
     ...........   .......              ........        ......
    .......        '...'.'.              '.'.'.'         ....
    .......       .....'..               ..'.....
       ..       ..........               ..'........
              ............               ..............
             .............               '..............
            ...........'..              .'.'............
           ...............              .'.'.............
          .............'..               ..'..'...........
          ...............                 .'..............
           .........                        ..............
            .....
    ";
        Console.WriteLine(bot);
    }
    
  5. Sla uw wijzigingen op.

De toepassing testen

Voer het project uit en bekijk de uitvoer. Probeer deze variaties op de opdrachtregel om verschillende resultaten te zien:

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

Alle argumenten na het -- scheidingsteken worden doorgegeven aan uw toepassing.

Het hulpprogramma verpakken

Voordat u de toepassing als hulpprogramma kunt inpakken en distribueren, moet u het projectbestand wijzigen.

  1. Open het bestand microsoft.botsay.csproj en voeg drie nieuwe XML-knooppunten toe aan het einde van het <PropertyGroup> knooppunt:

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

    <ToolCommandName> is een optioneel element waarmee de opdracht wordt opgegeven waarmee het hulpprogramma wordt aangeroepen nadat het is geïnstalleerd. Als dit element niet is opgegeven, is de opdrachtnaam voor het hulpprogramma de assemblynaam. Dit is meestal de naam van het projectbestand zonder de extensie .csproj .

    Opmerking

    Kies een unieke waarde voor <ToolCommandName>. Vermijd het gebruik van bestandsextensies (zoals .exe of .cmd) omdat het hulpprogramma is geïnstalleerd als een app-host en de opdracht geen extensie mag bevatten. Dit helpt conflicten met bestaande opdrachten te voorkomen en zorgt voor een soepele installatie.

    <PackageOutputPath> is een optioneel element dat bepaalt waar het NuGet-pakket wordt geproduceerd. Het NuGet-pakket is wat de .NET CLI gebruikt om uw hulpprogramma te installeren.

    Het projectbestand ziet er nu uit zoals in het volgende voorbeeld:

    <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. Maak een NuGet-pakket door de opdracht dotnet pack uit te voeren:

    dotnet pack
    

    Het bestand microsoft.botsay.1.0.0.nupkg wordt gemaakt in de map die wordt geïdentificeerd door de <PackageOutputPath> waarde van het bestand microsoft.botsay.csproj , dat in dit voorbeeld de map ./nupkg is.

    Wanneer u een hulpprogramma openbaar wilt vrijgeven, kunt u het uploaden naar https://www.nuget.org. Zodra het hulpprogramma beschikbaar is in NuGet, kunnen ontwikkelaars het hulpprogramma installeren met behulp van de opdracht dotnet tool install . Voor deze zelfstudie installeert u het pakket rechtstreeks vanuit de lokale nupkg-map , dus u hoeft het pakket niet te uploaden naar NuGet.

Problemen oplossen

Als u een foutbericht krijgt tijdens het volgen van de zelfstudie, raadpleegt u Problemen met het gebruik van .NET-hulpprogramma's oplossen.

Volgende stappen

In deze zelfstudie hebt u een consoletoepassing gemaakt en deze verpakt als een hulpprogramma. Als u wilt weten hoe u het hulpprogramma als een algemeen hulpprogramma gebruikt, gaat u verder met de volgende zelfstudie.

Als u wilt, kunt u de zelfstudie over globale hulpprogramma's overslaan en rechtstreeks naar de zelfstudie met lokale hulpprogramma's gaan.

Zie ook