Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья относится к: ✔️ пакета SDK для .NET Core 3.0 и более поздних версий
В этом руководстве описано, как установить и использовать локальное средство. Вы используете инструмент, созданный вами в первом руководстве этой серии.
Необходимые условия
Завершите первый урок этой серии.
Установите среду выполнения .NET Core 2.1.
SDK .NET 10.0.100 или более поздней версии (для
dnx) — необязателен, но рекомендуется.В этом руководстве вы устанавливаете и используете средство, предназначенное для .NET Core 2.1, поэтому на компьютере необходимо установить эту среду выполнения. Чтобы установить среду выполнения 2.1, перейдите на страницу загрузки .NET Core 2.1 и найдите ссылку на установку среды выполнения в столбце Запуск приложений — среда выполнения.
Создание файла манифеста
Чтобы установить средство для локального доступа (только для текущего каталога и подкаталогов), его необходимо добавить в файл манифеста.
В папке microsoft.botsay перейдите на один уровень вверх к папке репозитория.
cd ..
Создайте файл манифеста , выполнив команду dotnet new:
dotnet new tool-manifest
Выходные данные указывают на успешное создание файла.
The template "Dotnet local tool manifest file" was created successfully.
В файле .config/dotnet-tools.json еще нет инструментов.
{
"version": 1,
"isRoot": true,
"tools": {}
}
Средства, перечисленные в файле манифеста, доступны для текущего каталога и подкаталогов. Текущий каталог — это каталог, содержащий каталог .config с файлом манифеста.
При использовании команды CLI, которая ссылается на локальное средство, пакет SDK ищет файл манифеста в текущем каталоге и родительских каталогах. Если он находит файл манифеста, но файл не включает в себя средство, на которое ссылается ссылка, он продолжает поиск по родительским каталогам. Поиск заканчивается, когда он находит инструмент, на который ссылаются, или находит manifest-файл с установленным на isRootзначением true.
Установка botsay в качестве локального средства (традиционный подход)
Установите средство из пакета, созданного в первом руководстве:
dotnet tool install --add-source ./microsoft.botsay/nupkg microsoft.botsay
Эта команда добавляет средство в файл манифеста, созданный на предыдущем шаге. В выходных данных команды показано, в каком файле манифеста находится только что установленное средство:
You can invoke the tool from this directory using the following command:
'dotnet tool run botsay' or 'dotnet botsay'
Tool 'microsoft.botsay' (version '1.0.0') was successfully installed.
Entry is added to the manifest file /home/name/repository/.config/dotnet-tools.json
Теперь в файле .config/dotnet-tools.json есть одно средство:
{
"version": 1,
"isRoot": true,
"tools": {
"microsoft.botsay": {
"version": "1.0.0",
"commands": [
"botsay"
]
}
}
}
Использование установленного локального средства
После установки в качестве локального средства его можно вызвать несколькими способами:
Запустите средство непосредственно с помощью
dnx:dnx microsoft.botsay --add-source ./nupkg hello from the botЗамечание
При использовании dnx с манифестом локального средства он автоматически использует версию, указанную в манифесте.
Использование
dotnet botsay:dotnet botsay hello from the botС использованием
dotnet tool rundotnet tool run botsay hello from the bot
Восстановление локального средства, установленного другими пользователями
Обычно локальное средство устанавливается в корневой каталог репозитория. После регистрации файла манифеста в репозитории другие разработчики могут получить последний файл манифеста. Чтобы установить все средства, перечисленные в файле манифеста, они могут выполнить одну команду dotnet tool restore.
Откройте файл .config/dotnet-tools.json и замените содержимое следующим кодом JSON:
{ "version": 1, "isRoot": true, "tools": { "microsoft.botsay": { "version": "1.0.0", "commands": [ "botsay" ] }, "dotnetsay": { "version": "2.1.3", "commands": [ "dotnetsay" ] } } }Сохраните изменения.
Это изменение совпадает с получением последней версии из репозитория после установки пакета
dotnetsayдля каталога проекта.Выполните команду
dotnet tool restore.dotnet tool restoreКоманда создает выходные данные, как показано в следующем примере:
Tool 'microsoft.botsay' (version '1.0.0') was restored. Available commands: botsay Tool 'dotnetsay' (version '2.1.3') was restored. Available commands: dotnetsay Restore was successful.Убедитесь, что доступны средства:
dotnet tool listВыходные данные — это список пакетов и команд, аналогичный следующему примеру:
Package Id Version Commands Manifest -------------------------------------------------------------------------------------------- microsoft.botsay 1.0.0 botsay /home/name/repository/.config/dotnet-tools.json dotnetsay 2.1.3 dotnetsay /home/name/repository/.config/dotnet-tools.jsonПроверьте средства:
dotnet tool run dotnetsay hello from dotnetsay dotnet tool run botsay hello from botsay
Обновление локального средства
Установленная версия локального средства dotnetsay — 2.1.3. Используйте команду dotnet tool update для обновления средства до последней версии.
dotnet tool update dotnetsay
Выходные данные указывают новый номер версии:
Tool 'dotnetsay' was successfully updated from version '2.1.3' to version '2.1.7'
(manifest file /home/name/repository/.config/dotnet-tools.json).
Команда обновления находит первый файл манифеста, содержащий идентификатор пакета и обновляющий его. Если такой идентификатор пакета отсутствует в любом файле манифеста, который находится в области поиска, пакет SDK добавляет новую запись в ближайший файл манифеста. Область поиска охватывает движение вверх по родительским каталогам до нахождения манифестного файла с isRoot = true.
Удалите локальные средства
Удалите установленные средства, выполнив команду: dotnet tool uninstall.
dotnet tool uninstall microsoft.botsay
dotnet tool uninstall dotnetsay
Устранение неполадок
Если вы получите сообщение об ошибке при выполнении руководства, см. статью Устранение проблем с использованием средств .NET.
См. также
Дополнительные сведения см. в средствах .NET.