Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья относится к ✔️ SDK для .NET Core 2.1 и более поздних версий.
В этом руководстве описано, как создать и упаковать средство .NET. Интерфейс командной строки .NET позволяет создать консольное приложение в качестве средства, которое другие пользователи могут установить и запустить. Средства .NET — это пакеты NuGet, установленные из .NET CLI. Дополнительные сведения о средствах см. в обзоре средств .NET.
Создаваемое средство — это консольное приложение, которое принимает сообщение в качестве входных данных и отображает сообщение вместе со строками текста, создающими изображение робота.
Это первый из трех учебников. В этом руководстве описано, как создать и упаковить средство. В следующих двух руководствах вы используете инструмент в качестве глобального инструмента и используете его в качестве локального инструмента. Процедуры создания инструмента совпадают с тем, используется ли он как глобальный инструмент или как локальный инструмент.
Предпосылки
Пакет SDK для .NET 6.0.100 или более поздняя версия.
В этом руководстве используется пакет SDK для .NET 6.0, но глобальные средства доступны начиная с пакета SDK для .NET Core 2.1. Локальные средства доступны начиная с пакета SDK для .NET Core 3.0.
Текстовый редактор или редактор кода по вашему выбору.
Создание проекта
Откройте командную строку и создайте именованный репозиторий папки.
Перейдите в папку репозитория и введите следующую команду:
dotnet new console -n microsoft.botsay -f net6.0Команда создает новую папку с именем microsoft.botsay в папке репозитория .
Замечание
В этом руководстве описано, как создать инструмент, предназначенный для .NET 6.0. Чтобы выбрать другую платформу, измените
-f|--frameworkэтот параметр. Чтобы использовать несколько платформ, изменитеTargetFrameworkэлемент на элементTargetFrameworksв файле проекта, как показано в следующем примере:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFrameworks>net8.0;net6.0</TargetFrameworks> </PropertyGroup> </Project>Перейдите в папку microsoft.botsay .
cd microsoft.botsay
Добавление кода
Откройте файл Program.cs с помощью редактора кода.
Замените код в Program.cs на ниже приведенный код:
using System.Reflection; namespace microsoft.botsay; internal class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }Директива
using System.Reflection;необходима в коде, добавленном на следующем шаге.Замените
Mainметод следующим кодом, чтобы обработать аргументы командной строки для приложения.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)); }Если аргументы не передаются, отображается короткое сообщение справки. В противном случае все аргументы объединяются в одну строку и печатаются путем вызова
ShowBotметода, созданного на следующем шаге.Добавьте новый метод с именем
ShowBot, который принимает строковый параметр. Метод выводит сообщение и изображение робота с помощью строк текста.static void ShowBot(string message) { string bot = $"\n {message}"; bot += @" __________________ \ \ .... ....' .... .......... .............'..'.. ................'..'..... .......'..........'..'..'.... ........'..........'..'..'..... .'....'..'..........'..'.......'. .'..................'... ...... . ......'......... ..... . _ __ ...... .. # ## ...... .... . ....... ...... ....... ............ ................ ...................... ........................'................ ......................'..'...... ....... .........................'..'..... ....... ........ ..'.............'..'.... .......... ..'..'... ...............'....... .......... ...'...... ...... .......... ...... ....... ........... ....... ........ ...... ....... '...'.'. '.'.'.' .... ....... .....'.. ..'..... .. .......... ..'........ ............ .............. ............. '.............. ...........'.. .'.'............ ............... .'.'............. .............'.. ..'..'........... ............... .'.............. ......... .............. ..... "; Console.WriteLine(bot); }Сохраните ваши изменения.
Тестирование приложения
Запустите проект и просмотрите выходные данные. Попробуйте использовать эти варианты в командной строке, чтобы увидеть различные результаты:
dotnet run
dotnet run -- "Hello from the bot"
dotnet run -- Hello from the bot
Все аргументы после того, как -- разделитель передается приложению.
Упаковка средства
Прежде чем упаковать и распространить приложение в качестве средства, необходимо изменить файл проекта.
Откройте файл microsoft.botsay.csproj и добавьте три новых XML-узла в конец
<PropertyGroup>узла:<PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath><ToolCommandName>— необязательный элемент, указывающий команду, которая вызовет средство после его установки. Если этот элемент не указан, имя команды для средства — это имя сборки, которое обычно является именем файла проекта без расширения CSPROJ .Замечание
Выберите уникальное значение для
<ToolCommandName>. Избегайте использования расширений файлов (например.exe, или.cmd) из-за того, что средство установлено в качестве узла приложения, и команда не должна включать расширение. Это помогает предотвратить конфликты с существующими командами и обеспечивает гладкую установку.<PackageOutputPath>— необязательный элемент, определяющий, где будет производиться пакет NuGet. Пакет NuGet — это то, что интерфейс командной строки .NET использует для установки средства.Теперь файл проекта выглядит следующим образом:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <PackAsTool>true</PackAsTool> <ToolCommandName>botsay</ToolCommandName> <PackageOutputPath>./nupkg</PackageOutputPath> </PropertyGroup> </Project>Создайте пакет NuGet, выполнив команду dotnet pack :
dotnet packФайл microsoft.botsay.1.0.0.nupkg создается в папке, определяемой
<PackageOutputPath>значением из файла microsoft.botsay.csproj , который в этом примере является папкой ./nupkg .Если вы хотите публично освободить средство, его можно отправить
https://www.nuget.orgв . После того как средство будет доступно в NuGet, разработчики могут установить это средство с помощью команды установки средства dotnet . В этом руководстве вы устанавливаете пакет непосредственно из локальной папки nupkg , поэтому нет необходимости отправлять пакет в NuGet.
Устранение неполадок
Если вы получите сообщение об ошибке при выполнении руководства, см. статью Устранение проблем с использованием средств .NET.
Дальнейшие шаги
В этом руководстве вы создали консольное приложение и упаковали его в качестве инструмента. Чтобы узнать, как использовать инструмент в качестве глобального инструмента, перейдите к следующему руководству.
Если вы предпочитаете, вы можете пропустить руководство по глобальным средствам и перейти непосредственно к руководству по локальным средствам.