Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo se aplica a: ✔️ SDK do .NET Core 2.1 e versões posteriores
Este tutorial ensina como criar e empacotar uma ferramenta .NET. A CLI do .NET permite que você crie um aplicativo de console como uma ferramenta, que outras pessoas podem instalar e executar. As ferramentas do .NET são pacotes NuGet instalados da CLI do .NET. Para obter mais informações sobre ferramentas, consulte a visão geral das ferramentas do .NET.
A ferramenta que você criará é um aplicativo de console que usa uma mensagem como entrada e exibe a mensagem junto com linhas de texto que criam a imagem de um robô.
Este é o primeiro de uma série de três tutoriais. Neste tutorial, você cria e empacota uma ferramenta. Nos próximos dois tutoriais, você usará a ferramenta como uma ferramenta global e usará a ferramenta como uma ferramenta local. Os procedimentos para criar uma ferramenta são os mesmos se você usá-la como uma ferramenta global ou como uma ferramenta local.
Pré-requisitos
SDK do .NET 6.0.100 ou uma versão posterior.
Este tutorial usa o SDK do .NET 6.0, mas as ferramentas globais estão disponíveis a partir do SDK do .NET Core 2.1. As ferramentas locais estão disponíveis a partir do SDK do .NET Core 3.0.
Um editor de texto ou editor de código de sua escolha.
Criar um projeto
Abra um prompt de comando e crie uma pasta chamada repositório.
Navegue até a pasta do repositório e insira o seguinte comando:
dotnet new console -n microsoft.botsay -f net6.0O comando cria uma nova pasta chamada microsoft.botsay na pasta do repositório .
Observação
Para este tutorial, você cria uma ferramenta direcionada ao .NET 6.0. Para direcionar uma estrutura diferente, altere a opção
-f|--framework. Para direcionar várias estruturas, altere oTargetFrameworkelemento para umTargetFrameworkselemento no arquivo de projeto, conforme mostrado no exemplo a seguir:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFrameworks>net8.0;net6.0</TargetFrameworks> </PropertyGroup> </Project>Navegue até a pasta microsoft.botsay .
cd microsoft.botsay
Adicionar o código
Abra o arquivo Program.cs com o editor de código.
Substitua o código em Program.cs pelo seguinte código:
using System.Reflection; namespace microsoft.botsay; internal class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }A
using System.Reflection;diretiva é necessária para o código que você adicionará na próxima etapa.Substitua o
Mainmétodo pelo código a seguir para processar os argumentos de linha de comando do aplicativo.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)); }Se nenhum argumento for passado, uma breve mensagem de ajuda será exibida. Caso contrário, todos os argumentos são concatenados em uma única string e impressos ao chamar o método
ShowBotque você cria na próxima etapa.Adicione um novo método chamado
ShowBotque usa um parâmetro de cadeia de caracteres. O método imprime a mensagem e uma imagem de um robô usando linhas de texto.static void ShowBot(string message) { string bot = $"\n {message}"; bot += @" __________________ \ \ .... ....' .... .......... .............'..'.. ................'..'..... .......'..........'..'..'.... ........'..........'..'..'..... .'....'..'..........'..'.......'. .'..................'... ...... . ......'......... ..... . _ __ ...... .. # ## ...... .... . ....... ...... ....... ............ ................ ...................... ........................'................ ......................'..'...... ....... .........................'..'..... ....... ........ ..'.............'..'.... .......... ..'..'... ...............'....... .......... ...'...... ...... .......... ...... ....... ........... ....... ........ ...... ....... '...'.'. '.'.'.' .... ....... .....'.. ..'..... .. .......... ..'........ ............ .............. ............. '.............. ...........'.. .'.'............ ............... .'.'............. .............'.. ..'..'........... ............... .'.............. ......... .............. ..... "; Console.WriteLine(bot); }Salve suas alterações.
Testar o aplicativo
Execute o projeto e veja a saída. Experimente estas variações na linha de comando para ver resultados diferentes:
dotnet run
dotnet run -- "Hello from the bot"
dotnet run -- Hello from the bot
Todos os argumentos após o -- delimitador são passados para seu aplicativo.
Empacotar a ferramenta
Antes de empacotar e distribuir o aplicativo como uma ferramenta, você precisa modificar o arquivo de projeto.
Abra o arquivo microsoft.botsay.csproj e adicione três novos nós XML ao final do nó
<PropertyGroup>.<PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath><ToolCommandName>é um elemento opcional que especifica o comando que invocará a ferramenta depois de instalada. Se esse elemento não for fornecido, o nome do comando da ferramenta será o nome do assembly, que normalmente é o nome do arquivo de projeto sem a extensão .csproj .Observação
Escolha um valor exclusivo para
<ToolCommandName>. Evite usar extensões de arquivo (como.exeou.cmd) porque a ferramenta está instalada como um host de aplicativo e o comando não deve incluir uma extensão. Isso ajuda a evitar conflitos com os comandos existentes e garante uma experiência de instalação tranquila.<PackageOutputPath>é um elemento opcional que determina onde o pacote NuGet será produzido. O pacote NuGet é o que a CLI do .NET usa para instalar sua ferramenta.O arquivo de projeto agora se parece com o seguinte exemplo:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath> </PropertyGroup> </Project>Crie um pacote NuGet executando o comando dotnet pack :
dotnet packO arquivo microsoft.botsay.1.0.0.nupkg é criado na pasta identificada pelo
<PackageOutputPath>valor do arquivo microsoft.botsay.csproj , que neste exemplo é a pasta ./nupkg .Quando você quiser lançar uma ferramenta publicamente, poderá carregá-la para
https://www.nuget.org. Depois que a ferramenta estiver disponível no NuGet, os desenvolvedores poderão instalar a ferramenta usando o comando de instalação da ferramenta dotnet . Para este tutorial, instale o pacote diretamente da pasta nupkg local, portanto, não é necessário carregar o pacote no NuGet.
Solucionar problemas
Se você receber uma mensagem de erro ao seguir o tutorial, confira Solucionar problemas de uso da ferramenta .NET.
Próximas etapas
Neste tutorial, você criou um aplicativo de console e o empacotou como uma ferramenta. Para saber como usar a ferramenta como uma ferramenta global, avance para o próximo tutorial.
Se preferir, ignore o tutorial de ferramentas globais e vá diretamente para o tutorial de ferramentas locais.