Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Open een opdrachtprompt en maak een map met de naam opslagplaats.
Navigeer naar de map opslagplaats en voer de volgende opdracht in:
dotnet new console -n microsoft.botsay -f net6.0Met 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|--frameworkoptie. Als u meerdere frameworks wilt toepassen, wijzigt u hetTargetFrameworkelement in eenTargetFrameworkselement 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>Navigeer naar de map microsoft.botsay .
cd microsoft.botsay
Code toevoegen
Open het Program.cs-bestand met de code-editor.
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.Vervang de
Mainmethode 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
ShowBotmethode aan te roepen die u in de volgende stap maakt.Voeg een nieuwe methode toe met de naam
ShowBotdie 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); }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.
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.exeof.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>Maak een NuGet-pakket door de opdracht dotnet pack uit te voeren:
dotnet packHet 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.