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
Otevřete příkazový řádek a vytvořte složku s názvem repository.
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ěňteTargetFramework
element naTargetFrameworks
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>net8.0;net6.0</TargetFrameworks> </PropertyGroup> </Project>
Přejděte do složky microsoft.botsay .
cd microsoft.botsay
Přidání kódu
Otevřete soubor Program.cs v editoru kódu.
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.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.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); }
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.
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>
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ů.