Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article s’applique au ✔️ Kit de développement logiciel (SDK) .NET Core 2.1 et versions ultérieures
Ce tutoriel vous explique comment créer et empaqueter un outil .NET. L’interface CLI .NET vous permet de créer une application console en tant qu’outil, que d’autres peuvent installer et exécuter. Les outils .NET sont des packages NuGet installés à partir de l’interface CLI .NET. Pour plus d’informations sur les outils, consultez la vue d’ensemble des outils .NET.
L’outil que vous allez créer est une application console qui prend un message comme entrée et affiche le message avec des lignes de texte qui créent l’image d’un robot.
Il s’agit du premier d’une série de trois didacticiels. Dans ce tutoriel, vous allez créer et empaqueter un outil. Dans les deux didacticiels suivants, vous utilisez l’outil comme outil global et utilisez l’outil comme outil local. Les procédures de création d’un outil sont identiques si vous l’utilisez en tant qu’outil global ou en tant qu’outil local.
Conditions préalables
Sdk .NET 6.0.100 ou version ultérieure.
Ce tutoriel utilise le Kit de développement logiciel (SDK) .NET 6.0, mais les outils globaux sont disponibles à partir du Kit de développement logiciel (SDK) .NET Core 2.1. Les outils locaux sont disponibles à partir du Kit de développement logiciel (SDK) .NET Core 3.0.
Un éditeur de texte ou un éditeur de code de votre choix.
Création d’un projet
Ouvrez une invite de commandes et créez un dossier nommé dépôt.
Accédez au dossier du référentiel et entrez la commande suivante :
dotnet new console -n microsoft.botsay -f net6.0La commande crée un dossier nommé microsoft.botsay sous le dossier du dépôt .
Remarque
Pour ce tutoriel, vous créez un outil qui cible .NET 6.0. Pour cibler un autre framework, modifiez l’option
-f|--framework. Pour cibler plusieurs frameworks, remplacez l’élémentTargetFrameworkpar unTargetFrameworksélément dans le fichier projet, comme illustré dans l’exemple suivant :<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFrameworks>net8.0;net6.0</TargetFrameworks> </PropertyGroup> </Project>Accédez au dossier microsoft.botsay .
cd microsoft.botsay
Ajouter le code
Ouvrez le fichier Program.cs avec votre éditeur de code.
Remplacez le code dans Program.cs par le code suivant :
using System.Reflection; namespace microsoft.botsay; internal class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }La
using System.Reflection;directive est nécessaire par le code que vous ajoutez à l’étape suivante.Remplacez la
Mainméthode par le code suivant pour traiter les arguments de ligne de commande de l’application.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)); }Si aucun argument n’est passé, un message d’aide court s’affiche. Sinon, tous les arguments sont concaténés en une seule chaîne et imprimés en appelant la
ShowBotméthode que vous créez à l’étape suivante.Ajoutez une nouvelle méthode nommée
ShowBotqui prend un paramètre de chaîne. La méthode imprime le message et une image d’un robot à l’aide de lignes de texte.static void ShowBot(string message) { string bot = $"\n {message}"; bot += @" __________________ \ \ .... ....' .... .......... .............'..'.. ................'..'..... .......'..........'..'..'.... ........'..........'..'..'..... .'....'..'..........'..'.......'. .'..................'... ...... . ......'......... ..... . _ __ ...... .. # ## ...... .... . ....... ...... ....... ............ ................ ...................... ........................'................ ......................'..'...... ....... .........................'..'..... ....... ........ ..'.............'..'.... .......... ..'..'... ...............'....... .......... ...'...... ...... .......... ...... ....... ........... ....... ........ ...... ....... '...'.'. '.'.'.' .... ....... .....'.. ..'..... .. .......... ..'........ ............ .............. ............. '.............. ...........'.. .'.'............ ............... .'.'............. .............'.. ..'..'........... ............... .'.............. ......... .............. ..... "; Console.WriteLine(bot); }Enregistrez vos modifications.
Tester l’application
Exécutez le projet et consultez la sortie. Essayez ces variantes sur la ligne de commande pour afficher différents résultats :
dotnet run
dotnet run -- "Hello from the bot"
dotnet run -- Hello from the bot
Tous les arguments après le -- délimiteur sont passés à votre application.
Empaqueter l’outil
Avant de pouvoir packer et distribuer l’application en tant qu’outil, vous devez modifier le fichier projet.
Ouvrez le fichier microsoft.botsay.csproj et ajoutez trois nouveaux nœuds XML à la fin du
<PropertyGroup>nœud :<PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath><ToolCommandName>est un élément facultatif qui spécifie la commande qui appelle l’outil après son installation. Si cet élément n’est pas fourni, le nom de commande de l’outil est le nom de l’assembly, qui est généralement le nom du fichier projet sans l’extension .csproj .Remarque
Choisissez une valeur unique pour
<ToolCommandName>. Évitez d’utiliser des extensions de fichier (comme.exeou.cmd) car l’outil est installé en tant qu’hôte d’application et que la commande ne doit pas inclure d’extension. Cela permet d’éviter les conflits avec les commandes existantes et garantit une expérience d’installation fluide.<PackageOutputPath>est un élément facultatif qui détermine où le package NuGet sera généré. Le package NuGet est ce que l’interface CLI .NET utilise pour installer votre outil.Le fichier projet ressemble maintenant à l’exemple suivant :
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath> </PropertyGroup> </Project>Créez un package NuGet en exécutant la commande dotnet pack :
dotnet packLe fichier microsoft.botsay.1.0.0.nupkg est créé dans le dossier identifié par la
<PackageOutputPath>valeur du fichier microsoft.botsay.csproj , qui dans cet exemple est le dossier ./nupkg .Lorsque vous souhaitez publier publiquement un outil, vous pouvez le
https://www.nuget.orgcharger sur . Une fois l’outil disponible sur NuGet, les développeurs peuvent installer l’outil à l’aide de la commande dotnet tool install . Pour ce tutoriel, vous installez le package directement à partir du dossier nupkg local. Vous n’avez donc pas besoin de charger le package sur NuGet.
Résolution des problèmes
Si vous recevez un message d’erreur en suivant le didacticiel, consultez Résoudre les problèmes d’utilisation des outils .NET.
Étapes suivantes
Dans ce tutoriel, vous avez créé une application console et l’avez empaquetée en tant qu’outil. Pour savoir comment utiliser l’outil en tant qu’outil global, passez au didacticiel suivant.
Si vous préférez, vous pouvez ignorer le didacticiel des outils globaux et accéder directement au didacticiel sur les outils locaux.