Поделиться через


Руководство. Установка и использование локального средства .NET с помощью .NET CLI

Эта статья относится к: ✔️ пакета SDK для .NET Core 3.0 и более поздних версий

В этом руководстве описано, как установить и использовать локальное средство. Вы используете инструмент, созданный вами в первом руководстве этой серии.

Необходимые условия

  • Завершите первый урок этой серии.

  • Установите среду выполнения .NET Core 2.1.

    В этом руководстве вы устанавливаете и используете средство, предназначенное для .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-файл с установленным на trueзначением isRoot.

Установка 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"
      ]
    }
  }
}

Используйте средство

Вызовите средство, выполнив команду dotnet tool run из папки репозитория:

dotnet tool run botsay hello from the bot

Восстановление локального средства, установленного другими пользователями

Обычно локальное средство устанавливается в корневой каталог репозитория. После регистрации файла манифеста в репозитории другие разработчики могут получить последний файл манифеста. Чтобы установить все средства, перечисленные в файле манифеста, они могут выполнить одну команду dotnet tool restore.

  1. Откройте файл .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"
          ]
        }
      }
    }
    
  2. Сохраните изменения.

    Это изменение совпадает с получением последней версии из репозитория после установки пакета dotnetsay для каталога проекта.

  3. Выполните команду 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.
    
  4. Убедитесь, что доступны средства:

    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
    
  5. Проверьте средства:

    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.