Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Эта статья относится к: ✔️ пакета 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.