Oktatóanyag: .NET-eszköz létrehozása a .NET cli használatával
Ez a cikk a következő kiadásokra vonatkozik: ✔️ .NET Core 2.1 SDK és újabb verziók
Ez az oktatóanyag bemutatja, hogyan hozhat létre és csomagolhat be .NET-eszközöket. A .NET CLI lehetővé teszi, hogy eszközként hozzon létre egy konzolalkalmazást, amelyet mások telepíthetnek és futtathatnak. A .NET-eszközök a .NET CLI-ről telepített NuGet-csomagok. Az eszközökkel kapcsolatos további információkért lásd: .NET-eszközök áttekintése.
A létrehozandó eszköz egy konzolalkalmazás, amely bemenetként egy üzenetet vesz fel, és megjeleníti az üzenetet egy robot képét létrehozó szövegsorokkal együtt.
Ez az első három oktatóanyagból álló sorozatban. Ebben az oktatóanyagban egy eszközt hoz létre és csomagol be. A következő két oktatóanyagban az eszközt globális eszközként, az eszközt pedig helyi eszközként fogja használni. Az eszközök létrehozásának eljárásai ugyanazok, akár globális eszközként, akár helyi eszközként használják.
Előfeltételek
.NET SDK 6.0.100 vagy újabb verzió.
Ez az oktatóanyag a .NET SDK 6.0-t használja, de a globális eszközök a .NET Core SDK 2.1-től érhetők el. A helyi eszközök a .NET Core SDK 3.0-tól érhetők el.
Az Ön által választott szöveg- vagy kódszerkesztő.
Projekt létrehozása
Nyisson meg egy parancssort, és hozzon létre egy adattár nevű mappát.
Lépjen az adattár mappájába, és írja be a következő parancsot:
dotnet new console -n microsoft.botsay -f net6.0
A parancs létrehoz egy microsoft.botsay nevű új mappát az adattár mappájában.
Megjegyzés
Ebben az oktatóanyagban egy olyan eszközt hoz létre, amely a .NET 6.0-t célozza. Ha egy másik keretrendszert szeretne megcélozni, módosítsa a
-f|--framework
beállítást. Több keretrendszer megcélzásához módosítsa azTargetFramework
elemet a projektfájl egyikTargetFrameworks
elemére az alábbi példában látható módon:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFrameworks>net8.0;net6.0</TargetFrameworks> </PropertyGroup> </Project>
Lépjen a microsoft.botsay mappába.
cd microsoft.botsay
A kód hozzáadása
Nyissa meg a Program.cs fájlt a kódszerkesztővel.
Cserélje le a Program.cs fájlban lévő kódot a következő kódra:
using System.Reflection; namespace microsoft.botsay; internal class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }
Az
using System.Reflection;
irányelvre a következő lépésben hozzáadott kóddal van szükség.Cserélje le a
Main
metódust a következő kódra az alkalmazás parancssori argumentumainak feldolgozásához.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)); }
Ha nem ad át argumentumokat, egy rövid súgóüzenet jelenik meg. Ellenkező esetben az összes argumentum egyetlen sztringbe lesz összefűzve, és a
ShowBot
következő lépésben létrehozott metódus meghívásával lesz kinyomtatva.Adjon hozzá egy nevű új metódust
ShowBot
, amely egy sztringparamétert használ. A metódus egy robot üzenetét és képét nyomtatja ki szövegsorok használatával.static void ShowBot(string message) { string bot = $"\n {message}"; bot += @" __________________ \ \ .... ....' .... .......... .............'..'.. ................'..'..... .......'..........'..'..'.... ........'..........'..'..'..... .'....'..'..........'..'.......'. .'..................'... ...... . ......'......... ..... . _ __ ...... .. # ## ...... .... . ....... ...... ....... ............ ................ ...................... ........................'................ ......................'..'...... ....... .........................'..'..... ....... ........ ..'.............'..'.... .......... ..'..'... ...............'....... .......... ...'...... ...... .......... ...... ....... ........... ....... ........ ...... ....... '...'.'. '.'.'.' .... ....... .....'.. ..'..... .. .......... ..'........ ............ .............. ............. '.............. ...........'.. .'.'............ ............... .'.'............. .............'.. ..'..'........... ............... .'.............. ......... .............. ..... "; Console.WriteLine(bot); }
Mentse a módosításokat.
Az alkalmazás tesztelése
Futtassa a projektet, és tekintse meg a kimenetet. Próbálja ki ezeket a változatokat a parancssorban a különböző eredmények megtekintéséhez:
dotnet run
dotnet run -- "Hello from the bot"
dotnet run -- Hello from the bot
Az elválasztó után az --
összes argumentumot átadja az alkalmazásnak.
Az eszköz becsomagolása
Mielőtt eszközként csomagolhatja és terjesztheti az alkalmazást, módosítania kell a projektfájlt.
Nyissa meg a microsoft.botsay.csproj fájlt, és adjon hozzá három új XML-csomópontot a
<PropertyGroup>
csomópont végéhez:<PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath>
<ToolCommandName>
nem kötelező elem, amely megadja azt a parancsot, amely a telepítés után meghívja az eszközt. Ha ez az elem nincs megadva, az eszköz parancsneve a szerelvény neve, amely általában a projektfájl neve a .csproj kiterjesztés nélkül.<PackageOutputPath>
nem kötelező elem, amely meghatározza a NuGet-csomag létrehozásának helyét. A .NET CLI a NuGet-csomagot használja az eszköz telepítéséhez.A projektfájl most az alábbi példához hasonlóan néz ki:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath> </PropertyGroup> </Project>
Hozzon létre egy NuGet-csomagot a dotnet pack parancs futtatásával:
dotnet pack
A microsoft.botsay.1.0.0.nupkg fájl a microsoft.botsay.csproj fájl értéke által
<PackageOutputPath>
azonosított mappában jön létre, amely ebben a példában a ./nupkg mappa.Ha nyilvánosan szeretne kiadni egy eszközt, feltöltheti a következő helyre
https://www.nuget.org
: . Miután az eszköz elérhetővé válik a NuGeten, a fejlesztők a dotnet tool install paranccsal telepíthetik az eszközt. Ebben az oktatóanyagban a csomagot közvetlenül a helyi nupkg mappából telepíti, így nem kell feltöltenie a csomagot a NuGetbe.
Hibaelhárítás
Ha hibaüzenet jelenik meg az oktatóanyag követése során, tekintse meg a .NET-eszközök használati problémáinak elhárítását ismertető cikket.
Következő lépések
Ebben az oktatóanyagban létrehozott egy konzolalkalmazást, és eszközként csomagolta be. Ha meg szeretné tudni, hogyan használhatja az eszközt globális eszközként, lépjen tovább a következő oktatóanyagra.
Tetszés szerint kihagyhatja a globális eszközökkel kapcsolatos oktatóanyagot, és közvetlenül a helyi eszközök oktatóanyagához ugorhat.