NuGet クライアント ツールをインストールする
パッケージをインストールする場合は、 Nuget パッケージのインストール方法に関するページをご覧ください。
パッケージ コンシューマーまたは作成者として NuGet を操作するには、Visual Studio のコマンド ライン インターフェイス (CLI) ツールと NuGet 機能を使用できます。 この記事では、さまざまなツールの機能とそれらのインストール方法について簡単に説明します。また、各ツールの機能の可用性の比較も示します。
NuGet を使用してパッケージを使用するには、次の記事を参照してください。
NuGet パッケージの作成を開始するには、次の記事を参照してください。
ツール | 説明 | ダウンロード |
---|---|---|
dotnet/sdk | .NET Core および .NET Standard ライブラリ、および .NET Framework を対象とするプロジェクトなどの SDK スタイル プロジェクト用の CLI ツール。 この CLI ツールは .NET Core SDK に含まれており、すべてのプラットフォームでコアの NuGet 機能を提供します。 Visual Studio 2017 以降では、.NET Core 関連のワークロードとともに dotnet CLI が自動的にインストールされます。 | .NET Core SDK |
nuget.exe | .NET Framework ライブラリ、および .NET Standard ライブラリをターゲットとするプロジェクトなどの 非 SDK スタイル プロジェクト 用の CLI ツール。 この CLI ツールは、Mono で実行すると、Windows ではすべての NuGet 機能を提供し、Mac および Linux ではほとんどの機能を提供します。 | nuget.exe |
Visual Studio | Windows では、NuGet パッケージ マネージャーは、Visual Studio 2012 以降に含まれています。 Visual Studio は、パッケージ マネージャー UI とパッケージ マネージャー コンソール (Windows での PowerShell) を提供します。 これらのツールを使用して、ほとんどの NuGet 操作を実行できます。 | Visual Studio |
Visual Studio for Mac | Mac では、特定の NuGet 機能が直接組み込まれています。 パッケージ マネージャーコンソールは現在使用できません。 他の機能については、dotnet SDK または nuget.exe CLI ツールを使用します。 |
Visual Studio for Mac |
Visual Studio Code | Windows、Mac、および Linux では、NuGet 機能はマーケットプレイスの拡張機能を通じて利用するか、dotnet SDK または nuget.exe CLI ツールを使用して利用できます。 |
Visual Studio Code |
Note
Visual Studio for Mac は、 Microsoft のモダン ライフサイクル ポリシーに従って、2024 年 8 月 31 日までに廃止される予定です。 詳細については、「Visual Studio for Mac で何が起こっているのか」を参照してください。
MSBuild CLI では、パッケージの復元と作成も行われます。 MSBuild は、NuGet を操作するための汎用ツールではありません。 この CLI ツールは、主にビルド サーバーで役立ちます。
パッケージ マネージャー コンソール コマンドは、Windows 上の Visual Studio 内でのみ機能し、他の PowerShell 環境内では機能しません。
サポート ポリシー
Visual Studio for Windows サポート ポリシーは、「Visual Studio 製品ライフサイクルとサービス」を参照してください。
最新バージョンの NuGet.exe は完全にサポートされており、バグ修正、更新、および機能強化で信頼できます。 NuGet.exe のサポート ポリシーの詳細については、「Microsoft モダン ライフサイクル ポリシー」を参照してください。
.NET SDK のサポート ポリシーについては、「.NET と .NET Core のサポート ポリシー」を参照してください。
パッチ リリース
NuGet.exe の修正プログラムが適用されたバージョンは、Visual Studio または .NET SDK の長期サポート (LTS) バージョンに重要なセキュリティ修正プログラムが必要な場合にのみリリースされます。
のセキュリティ バグは、MSRC のレポート ページから、Microsoft Security Response Center (MSRC) に報告する必要があります。 また、「NuGet.Client リポジトリのセキュリティ ポリシー」も参照してください。
NuGet.exe をリストから外す
サポート対象外のバージョン、非推奨のNuGet.exeバージョン、脆弱なバージョンは、tools.json から削除されます。
Visual Studio
Visual Studio 2017 以降では、Visual Studio インストーラーには、.NET を使用するワークロードを備えた NuGet パッケージ マネージャーが含まれています。
パッケージ マネージャーを個別にインストールしたり、インストールを確認したりすることもできます。 Visual Studio インストーラーを実行し、[個別のコンポーネント]、[> コード ツール]、[> NuGet パッケージ マネージャー] のオプション設定を確認します。 詳細については、「NuGet パッケージ マネージャーを使用した Visual Studio でのパッケージのインストールと管理」を参照してください。
Note
以前のバージョンの Visual Studio の場合は、https://dist.nuget.org/index.html から NuGet 拡張機能をダウンロードできます。
CLI ツール
dotnet CLI または nuget.exe
CLI のいずれかを使用して、Visual Studio IDE の NuGet 機能をサポートできます。 dotnet CLI は、.NET Core などの一部の Visual Studio ワークロードとともにインストールされます。 nuget.exe
CLI は、前述のように個別にインストールする必要があります。 ツールの機能比較については、機能の可用性に関するセクションを参照してください。
.NET Core または .NET Standard をターゲットにするには、dotnet SDK CLI ツールを使用します。 この CLI は、SDK 属性を使用する SDK スタイルのプロジェクト形式に必要です。
.NET Framework (非 SDK スタイルのプロジェクトのみ) をターゲットにするには、
nuget.exe
CLI ツールを使用します。 プロジェクトがpackages.config
から PackageReference に移行される場合は、代わりに dotnet SDK CLI ツールを使用してください。
dotnet/sdk
dotnet SDK は .NET Core 2.0 CLI ツールであり、すべてのプラットフォーム (Windows、Mac、Linux) で動作し、パッケージのインストール、復元、公開などのコアとなる NuGet 機能を提供します。 dotnet CLI は、.NET Core プロジェクト ファイル (.csproj
など) との直接統合を提供するため、ほとんどのシナリオで役立ちます。 この CLI も各プラットフォーム用に直接構築されており、Mono のインストールは必要ありません。
ドットネット SDK をインストールする
開発者用コンピューターに .NET Core SDK をインストールします。 Visual Studio 2017 以降では、.NET Core 関連のワークロードとともに dotnet CLI が自動的にインストールされます。
ビルド サーバーの場合は、「継続的統合で .NET Core SDK とツールを使用する」の手順に従ってください。
dotnet SDK CLI ツールで基本的なコマンドを使用する方法については、「dotnet CLI を使用した NuGet パッケージのインストールと管理」を参照してください。
nuget.exe CLI
NuGet CLI () は、 nuget.exe
すべての NuGet 機能を提供する Windows 用のコマンド ライン ユーティリティです。 この CLI は、Monoを使用して Mac OSX と Linux で実行することもできますが、いくつかの制限があります。
nuget.exe
CLI ツールで基本的なコマンドを使用する方法については、「nuget.exe CLI を使用して NuGet パッケージを管理する」を参照してください。
nuget.exeをインストールする
構成をサポートする 最新 バージョンのツールを常にインストールします。
- 最新の推奨バージョンは
https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
からダウンロードできます。 nuget.exe
CLI ツールがすでにインストールされている場合は、nuget update -self
コマンドを使用してツールを最新バージョンに更新できます。- 古い継続的統合システム、以前の URL との互換性のために、
https://nuget.org/nuget.exe
は現在、CLI ツールの非推奨バージョン 2.8.6 を提供しています。
nuget.org/downloadsにアクセスし、NuGet バージョン 3.3 以降をダウンロードします。
- バージョン 5.0 以降には、.NET Framework バージョン 4.7.2 以降が必要です。
- パッケージを
nuget.org
に公開するには、バージョン 4.1.0 以降が必要です。 - バージョン 2.8.6 は Mono と互換性がありません。
各ダウンロードは、直接
nuget.exe
ファイルです。 ブラウザーで任意のフォルダーにファイルを保存します。 ダウンロード ファイルはインストーラーではないため、ブラウザからファイルを直接実行しても何も表示されません。どこからでも CLI ツールを使用するには、
nuget.exe
ファイルのフォルダーの場所を PATH 環境変数に追加します。
利用可能な機能
次の表は、サポートされているプラットフォームの dotnet ツールと nuget.exe
CLI ツールで使用できる機能を比較したものです。
機能 | dotnet CLI | nuget CLI (Windows) | nuget CLI (Mono) | Visual Studio (Windows) | Visual Studio for Mac |
---|---|---|---|---|---|
パッケージの検索 | ✔ | ✔ | ✔ | ✔ | ✔ |
パッケージのインストール/アンインストール | ✔ | ✔ (1) | ✔ | ✔ | ✔ |
パッケージの更新 | ✔ | ✔ | ✔ | ✔ | |
パッケージの復元 | ✔ | ✔ | ✔ (2) | ✔ | ✔ |
パッケージ フィードの管理 (ソース) | ✔ | ✔ | ✔ | ✔ | ✔ |
フィード上でのパッケージの管理 | ✔ | ✔ | ✔ | ||
フィードの API キーの設定 | ✔ | ✔ | |||
パッケージの作成 (3) | ✔ | ✔ | ✔ (4) | ✔ | |
パッケージの公開 | ✔ | ✔ | ✔ | ✔ | |
パッケージのレプリケート | ✔ | ✔ | |||
"グローバル パッケージ" フォルダーおよびキャッシュ フォルダーの管理 | ✔ | ✔ | ✔ | ||
NuGet の構成の管理 | ✔ | ✔ | ✔ |
機能に関する注意事項
- (1) プロジェクト ファイルには影響しません。 代わりに dotnet SDK CLI ツールを使用してください。
- (2)
packages.config
ファイルでのみ機能し、ソリューション (.sln
) ファイルでは機能しません。 - (3) 各種の高度なパッケージ機能は、Visual Studio UI ツールで表示されない場合のみ、CLI を通じて使用できます。
- (4)
.nuspec
ファイルでは機能しますが、プロジェクト ファイルでは機能しません。
近日公開の機能
今後の NuGet 機能をプレビューしたい場合は、Visual Studio の安定リリースと並行して動作する Visual Studio プレビューをインストールします。 問題を報告したり、プレビューに関するアイデアを共有したりするには、NuGet GitHub リポジトリで懸案事項を開きます。
関連記事
- Visual Studio を使用したパッケージのインストールと管理
- dotnet CLI を使用したパッケージのインストールと管理
- nuget.exe CLI を使用したパッケージのインストールと管理
- PowerShell を使用したパッケージのインストールと管理
- nuget.exe CLI を使用してパッケージを作成する
- NuGet パッケージを公開する
- パッケージ マネージャー コンソール PowerShell のリファレンス
Windows で作業している開発者は、NuGet パッケージ エクスプローラーを調べることもできます。 このアプリケーションは、NuGet パッケージを視覚的に探索、作成、編集できるオープンソースのスタンドアロン ツールです。 これは、パッケージを再構築せずにパッケージ構造に実験的な変更を加えるなど、多くのシナリオに役立ちます。