次の方法で共有


Visual Studio パッケージ マネージャー コンソールを使用してパッケージを管理する (PowerShell)

Visual Studio のパッケージ マネージャー コンソールでは、PowerShell コマンドを使用して NuGet パッケージを操作します。 パッケージ マネージャー UI を使用して操作を行う方法がない場合は、コンソールを使用できます。 コンソールで dotnet CLI または NuGet CLI コマンドを使用することもできます。

この記事では、パッケージ マネージャー コンソールで PowerShell コマンドを使用して NuGet パッケージを検索、インストール、更新、アンインストールする方法について説明します。 パッケージ マネージャー コンソールの PowerShell コマンド リファレンス全体については、 PowerShell リファレンスを参照してください。

Important

この記事の PowerShell のコマンドと引数は、Visual Studio パッケージ マネージャー コンソールに固有のものです。 これらのコマンドは、一般的な PowerShell 環境で使用できる PackageManagement モジュール コマンド とは異なります。 各環境には他の環境では使用できないコマンドがあり、同じ名前のコマンドは特定の引数で異なる場合があります。

コンソールの可用性

Visual Studio 2017 以降では、.NET 関連のワークロードを作成する際に、NuGetとNuGetパッケージマネージャーが自動的にインストールされます。 Visual Studio インストーラーで [ 個々のコンポーネント>Code tools>NuGet パッケージ マネージャー ] を選択して、パッケージ マネージャーをインストールすることもできます。

[ツール]、[>拡張機能] メニューで NuGet パッケージ マネージャー拡張機能を検索することもできます。 Visual Studio で拡張機能インストーラーを使用できない場合は、 https://dist.nuget.org/index.htmlから直接拡張機能をダウンロードできます。

パッケージ マネージャー コンソールは、Windows 上の Visual Studio 用パッケージ マネージャーに組み込まれています。 Visual Studio Code と Visual Studio for Mac にはコンソールは含まれません。 Visual Studio for Mac には NuGet パッケージを管理するための UI があり、同等のコンソール コマンドは NuGet CLI を使用して使用できます。 詳細については、「 Visual Studio for Mac での NuGet パッケージのインストールと管理」を参照してください。

パッケージをすばやく見つけてインストールする

パッケージ マネージャー コンソールを使用してパッケージをすばやく見つけてインストールするには:

  1. Visual Studio でプロジェクトまたはソリューションを開き、 ツール>NuGet パッケージ マネージャー>パッケージ マネージャー コンソール を選択して、[パッケージ マネージャー コンソール] ウィンドウを開きます。

  2. コンソールで、 Find-Package キーワードを入力して、インストールするパッケージを見つけます。 たとえば、キーワード elmahを含むパッケージを検索するには、次のコマンドを実行します。 必要なパッケージ名が既にわかっている場合は、この手順をスキップします。

    Find-Package elmah
    
  3. 名前を見つけたら、 Install-Package コマンドを使用してパッケージをインストールします。 たとえば、 Elmah.MVC パッケージをインストールするには、次のように入力します。

    Install-Package Elmah.MVC
    

これらのコマンドの詳細については、「パッケージの検索」および「 パッケージの インストール」セクション 参照してください。

ヒント

多くのコンソール操作は、Visual Studio で既知のパス名を持つソリューションを開く必要があります。 保存されていないソリューションがある場合、またはソリューションがない場合 は、ソリューションが開いていないか、保存されていないというエラーが表示されます。開いて保存したソリューションがあることを確認してください。 エラーを修正するには、ソリューションを作成して保存するか、保存されていないソリューションを保存します。

コンソール コントロール

Visual Studio でパッケージ マネージャー コンソールを開くには、上部のメニューから [ツール>NuGet パッケージ マネージャー>パッケージ マネージャー コンソール ] を選択します。 コンソールは、自由に配置して位置を決めることができる Visual Studio ウィンドウです。 詳細については、「 Visual Studio でウィンドウ レイアウトをカスタマイズする」を参照してください。

既定では、コンソール コマンドは、ウィンドウの上部にあるコントロールに表示される特定のパッケージ ソースとプロジェクトに対して動作します。

パッケージ ソースとプロジェクトのパッケージ マネージャー コンソール コントロールを示すスクリーンショット。

別のパッケージ ソースまたはプロジェクトを選択すると、後続のコマンドの既定値が変更されます。 既定値を変更せずに単一のコマンドに対してこれらの設定をオーバーライドするには、ほとんどのコンソール コマンドで -Source オプションと -ProjectName オプションがサポートされています。

パッケージ ソースを管理するには、歯車アイコンを選択し、[ ツール>オプション>NuGet パッケージ マネージャー>パッケージ ソース ] ダイアログ ボックスを開きます。 プロジェクト セレクターの横にあるコントロールによって、コンソールの内容がクリアされます。

パッケージ マネージャー コンソールの設定とクリア コントロールを示すスクリーンショット。

右端のボタンは、実行時間の長いコマンドを中断します。 たとえば、 Get-Package -ListAvailable -PageSize 500 を実行すると、既定のソースで使用可能な上位 500 個のパッケージ (nuget.org など) が一覧表示されます。これは数分かかる場合があります。

パッケージ マネージャー コンソールの停止コントロールを示すスクリーンショット。

パッケージを検索する

既定のソースでパッケージを検索するには、 Find-Package を使用します。

  • 特定のキーワードを含むパッケージを検索して一覧表示するには:

    Find-Package <keyword1>
    Find-Package <keyword2>
    
  • 名前が文字列で始まるパッケージを検索して一覧表示するには:

    Find-Package <string> -StartWith
    
  • 既定では、 Find-Package は 20 個のパッケージの一覧を返します。 -Firstを使用して、その他のパッケージを表示します。 たとえば、最初の 100 個のパッケージを表示するには、次を使用します。

    Find-Package <keyword> -First 100
    
  • 特定のパッケージのすべてのバージョンを一覧表示するには:

    Find-Package <PackageName> -AllVersions -ExactMatch
    

パッケージをインストールする

パッケージを既定のプロジェクトにインストールするには、 Install-Package <PackageName>を使用します。 Install-Package コンソール コマンドは、次のアクションを実行します。

  • 「NuGet パッケージのインストール時の動作」の手順を実行します。
  • コンソール ウィンドウに適用されるライセンス条項と暗黙の契約が表示されます。 条項に同意しない場合は、パッケージをアンインストールする必要があります。
  • プロジェクト ファイルと ソリューション エクスプローラー の [参照] ノードで、パッケージへの 参照 を追加します。 プロジェクト ファイルに変更を表示するには、プロジェクトを保存する必要があります。

既定では、 Install-Package コンソール ウィンドウで指定された既定のプロジェクトにパッケージが追加されます。 既定ではないプロジェクトにパッケージを追加するには、 -ProjectName オプションを使用します。 たとえば、既定以外のElmah.MVC プロジェクトにUtilitiesLib パッケージを追加するには、次のコマンドを実行します。

Install-Package Elmah.MVC -ProjectName UtilitiesLib

パッケージのアンインストール

既定のプロジェクトからパッケージをアンインストールするには、 Uninstall-Package <PackageName>を使用します。 パッケージ名を検索する必要がある場合は、 Get-Package を使用して、既定のプロジェクトにインストールされているすべてのパッケージを表示します。

Uninstall-Package は次のアクションを実行します。

  • プロジェクトおよび管理形式からパッケージへの参照を削除します。 参照はソリューション エクスプローラーに表示されなくなります。 bin フォルダー内の参照を削除するには、プロジェクトのリビルドが必要になる場合があります。
  • パッケージのインストールによって行われたapp.configまたはweb.configへのすべての変更を元に戻します。
  • 残りのパッケージでこれらの依存関係が使用されていない場合は、以前にインストールされた依存関係を削除します。

パッケージとその未使用の依存関係をすべてアンインストールするには、次のコマンドを実行します。

Uninstall-Package <PackageName> -RemoveDependencies

他のパッケージが依存している場合でもパッケージをアンインストールするには、次のコマンドを実行します。

Uninstall-Package <PackageName> -Force

パッケージを更新する

パッケージを更新するには、 Get-PackageUpdate-Package を使用します。 次のコマンドを実行できます。

  • インストールされているパッケージに使用できる新しいバージョンがあるかどうかを確認するには:

    Get-Package -updates
    
  • 特定のパッケージを更新するには:

    Update-Package <PackageName>
    
  • プロジェクト内のすべてのパッケージを更新するには:

    Update-Package -ProjectName <ProjectName>
    
  • ソリューション内のすべてのパッケージを更新するには:

    Update-Package
    

コンソールで NuGet CLI を使用する

NuGet CLI を使用して、ほとんどのコンソール操作を実行することもできます。 ただし、PowerShell コンソール コマンドは、Visual Studio で保存されたプロジェクトとソリューションのコンテキスト内で動作し、多くの場合、同等の NuGet CLI コマンドよりも多くを実行します。 たとえば、 Install-Package を使用してパッケージをインストールすると、プロジェクト ファイルへの参照が追加されますが、NuGet CLI コマンドでは追加されません。 このため、Visual Studio で作業する開発者は通常、NuGet CLI ではなくコンソール コマンドを使用することを好みます。

パッケージ マネージャー コンソールで NuGet CLI コマンドを使用するには、 NuGet.CommandLine パッケージをインストールします。

Install-Package NuGet.CommandLine

上記のコマンドは、最新バージョンの NuGet CLI をインストールします。 特定のバージョンをインストールするには、 -Version オプションを使用します。 たとえば、バージョン 4.4.1 をインストールするには、次のように入力します。

Install-Package NuGet.CommandLine -Version 4.4.1

NuGet.CommandLine パッケージをインストールしたら、パッケージ マネージャー コンソールからすべての NuGet CLI コマンドを実行できます。

パッケージ マネージャー コンソールを拡張する

一部のパッケージでは、コンソールの新しいコマンドがインストールされます。 たとえば、 MvcScaffoldingScaffold などのコマンドを作成し、MVC コントローラーとビュー ASP.NET 生成します。

NuGet.CommandLine パッケージのインストール後に使用可能な NuGet CLI コマンドを示すスクリーンショット。

NuGet PowerShell プロファイルを設定する

PowerShell プロファイルを作成して、一般的に使用されるコマンドをすべての PowerShell コンテキストで使用できるようにすることができます。そのため、セッション間で PowerShell の設定が失われることはありません。 NuGet では、通常は%UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1で NuGet 固有のプロファイル がサポートされています

ユーザー プロファイルの場所を見つけるには、コンソールに「 $profile 」と入力します。

$profile
C:\Users\<user>\Documents\WindowsPowerShell\NuGet_profile.ps1

その場所にプロファイルが存在するかどうかを確認するには、「 test-path $profile」と入力します。 コマンドから Falseが返された場合は、指定した名前のプロファイルをその場所に作成する必要があります。 詳細については、「 Windows PowerShell プロファイル」を参照してください。

次のステップ