次の方法で共有


チュートリアル: .NET CLI を使用して .NET ローカル ツールをインストールして使用する

この記事は、.NET Core 3.0 SDK 以降のバージョン ✔️ に適用されます

このチュートリアルでは、ローカル ツールをインストールして使用する方法について説明します。 このシリーズ の最初のチュートリアルで作成したツールを使用します。

前提 条件

  • このシリーズ 最初のチュートリアルを完了します。

  • .NET Core 2.1 ランタイムをインストールします。

    このチュートリアルでは、.NET Core 2.1 を対象とするツールをインストールして使用するため、そのランタイムをコンピューターにインストールする必要があります。 2.1 ランタイムをインストールするには、.NET Core 2.1 のダウンロード ページ に移動し、[アプリの実行 - ランタイム] 列にあるランタイム インストール リンクを見つけます。

マニフェスト ファイルを作成する

ローカル アクセス専用のツール (現在のディレクトリとサブディレクトリの場合) をインストールするには、マニフェスト ファイルに追加する必要があります。

microsoft.botsay フォルダーから、リポジトリ フォルダーに 1 レベル上に移動します。

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 は現在のディレクトリと親ディレクトリ内のマニフェスト ファイルを検索します。 マニフェスト ファイルが見つかるが、ファイルに参照先ツールが含まれていない場合は、親ディレクトリを介して検索が続行されます。 検索は、参照先ツールが見つかるか、isRoottrueに設定されたマニフェスト ファイルを見つけたときに終了します。

ローカル ツールとして 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 ファイルに 1 つのツールが含まれるようになりました。

{
  "version": 1,
  "isRoot": true,
  "tools": {
    "microsoft.botsay": {
      "version": "1.0.0",
      "commands": [
        "botsay"
      ]
    }
  }
}

ツールを使用する

リポジトリ フォルダーから dotnet tool run コマンドを実行して、ツールを呼び出します。

dotnet tool run botsay hello from the bot

他のユーザーがインストールしたローカル ツールを復元する

通常、ローカル ツールはリポジトリのルート ディレクトリにインストールします。 マニフェスト ファイルをリポジトリにチェックインすると、他の開発者は最新のマニフェスト ファイルを取得できます。 マニフェスト ファイルに一覧表示されているすべてのツールをインストールするには、1 つの 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).

update コマンドは、パッケージ ID を含む最初のマニフェスト ファイルを検索して更新します。 検索のスコープ内にあるマニフェスト ファイルにそのようなパッケージ ID がない場合、SDK は最も近いマニフェスト ファイルに新しいエントリを追加します。 isRoot = true を含むマニフェスト ファイルが見つかるまで、検索スコープは親ディレクトリを介して稼働します。

ローカル ツールを削除する

dotnet tool uninstall コマンドを実行して、インストールされているツールを削除します。

dotnet tool uninstall microsoft.botsay
dotnet tool uninstall dotnetsay

トラブルシューティング

チュートリアルの実行中にエラー メッセージが表示される場合は、「.NET ツールの使用に関する問題のトラブルシューティング を参照してください。

関連項目

詳細については、「.NET ツールの 」を参照してください。