チュートリアル: .NET CLI を使って .NET ローカル ツールをインストールして使用する
この記事の対象: ✔️ .NET Core 3.0 SDK 以降のバージョン
このチュートリアルでは、ローカル ツールをインストールして使用する方法について説明します。 このシリーズの最初のチュートリアルで作成されるツールを使用します。
必須コンポーネント
このシリーズの最初のチュートリアルを完了します。
.NET Core 2.1 ランタイムをインストールします。
このチュートリアルでは、.NET Core 2.1 を対象とするツールをインストールして使用するため、お使いのコンピューター上に該当のランタイムがインストールされている必要があります。 2\.1 ランタイムをインストールするには、.NET Core 2.1 のダウンロード ページにアクセスして、 [Run apps - Runtime](アプリの実行 - ランタイム) 列でランタイム インストールのリンクを見つけます。
マニフェスト ファイルの作成
ローカル アクセス専用のツール (現在のディレクトリとサブディレクトリ用) をインストールするには、マニフェスト ファイルに追加する必要があります。
microsoft.botsay フォルダーから、1 つ上のレベルである repository フォルダーに移動します。
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 では現在のディレクトリおよび親ディレクトリ内でマニフェスト ファイルを検索します。 マニフェスト ファイルが見つかっても、参照されたツールがファイルに含まれていない場合は、親ディレクトリを遡って引き続き検索されます。 検索は、参照されたツールが見つかったとき、または 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 ファイルには現在、1 つのツールがあります。
{
"version": 1,
"isRoot": true,
"tools": {
"microsoft.botsay": {
"version": "1.0.0",
"commands": [
"botsay"
]
}
}
}
ツールの使用
repository フォルダーから dotnet tool run
コマンドを実行して、ツールを起動します。
dotnet 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).
update コマンドでは、パッケージ ID を含む最初のマニフェスト ファイルを検索して、それを更新します。 検索のスコープ内にあるマニフェスト ファイルにこのようなパッケージ ID がない場合、SDK では最も近いマニフェスト ファイルに新しいエントリを追加します。 isRoot = true
のマニフェスト ファイルが見つかるまで、検索のスコープとして親ディレクトリを遡ります。
ローカル ツールを削除する
dotnet tool uninstall コマンドを実行して、インストールされたツールを削除します。
dotnet tool uninstall microsoft.botsay
dotnet tool uninstall dotnetsay
トラブルシューティング
チュートリアルの実行中にエラー メッセージが表示された場合は、「.NET ツールの使用に関する問題のトラブルシューティング」を参照してください。
関連項目
詳細については、.NET ツールに関するページを参照してください。
.NET