Visual Studio でパッケージ マネージャー コンソールを使用してパッケージをインストールおよび管理する (PowerShell)Install and manage packages with the Package Manager Console in Visual Studio (PowerShell)

Nuget パッケージ マネージャー コンソールでは、NuGet PowerShell コマンドを使用して、NuGet パッケージを検索、インストール、アンインストール、および更新することができます。The NuGet Package Manager Console lets you use NuGet PowerShell commands to find, install, uninstall, and update NuGet packages. 操作を実行するための手段がパッケージ マネージャー UI で提供されていない場合には、コンソールを使用する必要があります。Using the console is necessary in cases where the Package Manager UI does not provide a way to perform an operation. コンソールで nuget.exe CLI コマンドを使用するには、「コンソールで nuget.exe CLI を使用する」を参照してください。To use nuget.exe CLI commands in the console, see Using the nuget.exe CLI in the console.

コンソールは、Windows の Visual Studio に組み込まれています。The console is built into Visual Studio on Windows. Visual Studio for Mac や Visual Studio Code には含まれていません。It is not included with Visual Studio for Mac or Visual Studio Code.

重要

ここに記載トされているコマンドは、Visual Studio のパッケージ マネージャー コンソールに固有のものであり、一般的な PowerShell 環境で使用できるPackage Management モジュール コマンドとは異なります。The commands listed here are specific to the Package Manager Console in Visual Studio, and differ from the Package Management module commands that are available in a general PowerShell environment. 具体的には、各環境には他の環境では使用できないコマンドがあり、同じ名前のコマンドでも特定の引数が異なる場合があります。Specifically, each environment has commands that are not available in the other, and commands with the same name may also differ in their specific arguments. Visual Studio で Package Management コンソールを使用する場合、このトピックに記載されているコマンドと引数が適用されます。When using the Package Management Console in Visual Studio, the commands and arguments documented in this present topic apply.

パッケージを検索してインストールするFind and install a package

たとえば、パッケージの検索とインストールは、次の 3 つの簡単な手順で行われます。For example, finding and installing a package is done with three easy steps:

  1. Visual Studio でプロジェクト/ソリューションを開き、[ツール] > [NuGet パッケージ マネージャー] > [パッケージ マネージャー コンソール] コマンドを使用してコンソールを開きます。Open the project/solution in Visual Studio, and open the console using the Tools > NuGet Package Manager > Package Manager Console command.

  2. インストールするパッケージを検索します。Find the package you want to install. 既にわかっている場合は、手順 3 に進みます。If you already know this, skip to step 3.

    # Find packages containing the keyword "elmah"
    Find-Package elmah
    
  3. インストール コマンドを実行します。Run the install command:

    # Install the Elmah package to the project named MyProject.
    Install-Package Elmah -ProjectName MyProject
    

重要

コンソールで使用できるすべての操作は、NuGet CLI を使用して行うこともできます。All operations that are available in the console can also be done with the NuGet CLI. ただし、コンソール コマンドは、Visual Studio と保存済みのプロジェクト/ソリューションのコンテキスト内で動作し、多くの場合、同等の CLI コマンドよりも多くの操作を実行します。However, console commands operate within the context of Visual Studio and a saved project/solution and often accomplish more than their equivalent CLI commands. たとえば、コンソールを使用してパッケージをインストールすると、プロジェクトへの参照が追加されますが、CLI コマンドでは参照は追加されません。For example, installing a package through the console adds a reference to the project whereas the CLI command does not. このため、Visual Studio で作業する開発者は、通常、CLI ではなくコンソールを優先的に使用します。For this reason, developers working in Visual Studio typically prefer using the console to the CLI.

ヒント

多くのコンソール操作は、ソリューションが既知のパス名を使用して Visual Studio で開かれていることを前提に動作します。Many console operations depend on having a solution opened in Visual Studio with a known path name. 保存されていないソリューションがある場合や、ソリューションがない場合は、"ソリューションが開いていないか、または保存されていません。If you have an unsaved solution, or no solution, you can see the error, "Solution is not opened or not saved. ソリューションが開いており、保存されていることを確認してください " というエラーが表示されます。Please ensure you have an open and saved solution." これは、コンソールがソリューション フォルダーを特定できないことを示します。This indicates that the console cannot determine the solution folder. 保存されていないソリューションを保存するか、ソリューションを開いていない場合は作成して保存することで、エラーを解決できます。Saving an unsaved solution, or creating and saving a solution if you don't have one open, should correct the error.

コンソールとコンソール コントロールを開くOpening the console and console controls

  1. [ツール] > [NuGet パッケージ マネージャー] > [パッケージ マネージャー コンソール] コマンドを使用して、Visual Studio でコンソールを開きます。Open the console in Visual Studio using the Tools > NuGet Package Manager > Package Manager Console command. コンソールは、好みに合わせて配置できる Visual Studio ウィンドウです (「Visual Studio のウィンドウ レイアウトをカスタマイズする」を参照してください)。The console is a Visual Studio window that can be arranged and positioned however you like (see Customize window layouts in Visual Studio).

  2. 既定では、コンソール コマンドは、ウィンドウの上部にあるコントロールで設定された特定のパッケージ ソースとプロジェクトに対して動作します。By default, console commands operate against a specific package source and project as set in the control at the top of the window:

    パッケージ ソースとプロジェクトのパッケージ マネージャー コンソール コントロール

  3. 別のパッケージ ソースやプロジェクトを選択すると、後続のコマンドの既定値が変更されます。Selecting a different package source and/or project changes those defaults for subsequent commands. 既定値を変更せずにこれらの設定をオーバーライドするために、ほとんどのコマンドで -Source および -ProjectName オプションがサポートされています。To overrride these settings without changing the defaults, most commands support -Source and -ProjectName options.

  4. パッケージ ソースを管理するには、歯車アイコンを選択します。To manage package sources, select the gear icon. これは、[ツール] > [オプション] > [NuGet パッケージ マネージャー] ダイアログ ボックスへのショートカットです (パッケージ マネージャー UI に関するページで説明されています)。This is a shortcut to the Tools > Options > NuGet Package Manager > Package Sources dialog box as described on the Package Manager UI page. また、プロジェクト セレクターの右側にあるコントロールを使用すると、コンソールの内容をクリアできます。Also, the control to the right of the project selector clears the console's contents:

    パッケージ マネージャー コンソールの設定とクリアのためのコントロール

  5. 右端のボタンをクリックすると、実行時間の長いコマンドが中断されます。The rightmost button interrupts a long-running command. たとえば、Get-Package -ListAvailable -PageSize 500 を実行すると、既定のソース上の上位 500 パッケージ (nuget.org など) が一覧表示されます (これには数分かかることがあります)。For example, running Get-Package -ListAvailable -PageSize 500 lists the top 500 packages on the default source (such as nuget.org), which could take several minutes to run.

    パッケージ マネージャー コンソールの停止コントロール

パッケージをインストールしますInstall a package

# Add the Elmah package to the default project as specified in the console's project selector
Install-Package Elmah

# Add the Elmah package to a project named UtilitiesLib that is not the default
Install-Package Elmah -ProjectName UtilitiesLib

Install-Package」を参照してください。See Install-Package.

コンソールでパッケージをインストールすると、「NuGet パッケージのインストールのしくみ」で説明されているのと同じ手順が実行されるのに加えて、次の操作が実行されます。Installing a package in the console performs the same steps as described on What happens when a package is installed, with the following additions:

  • コンソールのウィンドウに、適用されるライセンス条項と暗黙の契約が表示されます。The Console displays applicable license terms in its window with implied agreement. 条項に同意しない場合は、パッケージをすぐにアンインストールする必要があります。If you do not agree to the terms, you should uninstall the package immediately.
  • また、パッケージへの参照がプロジェクト ファイルに追加され、[参照] ノードの下の ソリューション エクスプローラー に表示されます。プロジェクト ファイルの変更内容を直接確認するには、プロジェクトを保存する必要があります。Also a reference to the package is added to the project file and appears in Solution Explorer under the References node, you need to save the project to see the changes in the project file directly.

パッケージをアンインストールしますUninstall a package

# Uninstalls the Elmah package from the default project
Uninstall-Package Elmah

# Uninstalls the Elmah package and all its unused dependencies
Uninstall-Package Elmah -RemoveDependencies 

# Uninstalls the Elmah package even if another package depends on it
Uninstall-Package Elmah -Force

Uninstall-Package」を参照してください。See Uninstall-Package. 識別子を確認する必要がある場合は、Get-Package を使用して、既定のプロジェクトに現在インストールされているすべてのパッケージを表示します。Use Get-Package to see all packages currently installed in the default project if you need to find an identifier.

パッケージをアンインストールすると、次の操作が実行されます。Uninstalling a package performs the following actions:

  • パッケージへの参照をプロジェクトから削除します (使用中の管理形式にかかわらず)。Removes references to the package from the project (and whatever management format is in use). 参照は ソリューション エクスプローラー に表示されなくなります。References no longer appear in Solution Explorer. (Bin フォルダーから削除されたことを確認するには、プロジェクトのリビルドが必要になる場合があります。)(You might need to rebuild the project to see it removed from the Bin folder.)
  • パッケージがインストールされたときに app.config または web.config に加えられた変更を元に戻します。Reverses any changes made to app.config or web.config when the package was installed.
  • 以前にインストールされた依存関係を削除します (残りのパッケージがそれらの依存関係を使用していない場合)。Removes previously-installed dependencies if no remaining packages use those dependencies.

パッケージを更新するUpdate a package

# Checks if there are newer versions available for any installed packages
Get-Package -updates

# Updates a specific package using its identifier, in this case jQuery
Update-Package jQuery

# Update all packages in the project named MyProject (as it appears in Solution Explorer)
Update-Package -ProjectName MyProject

# Update all packages in the solution
Update-Package

Get-Package」と「Update-Package」を参照してくださいSee Get-Package and Update-Package

パッケージを見つけるFind a package

# Find packages containing keywords
Find-Package elmah
Find-Package logging

# List packages whose ID begins with Elmah
Find-Package Elmah -StartWith

# By default, Get-Package returns a list of 20 packages; use -First to show more
Find-Package logging -First 100

# List all versions of the package with the ID of "jquery"
Find-Package jquery -AllVersions -ExactMatch

Find-Package」を参照してください。See Find-Package. Visual Studio 2013 以前では、Get-Package を使用してください。In Visual Studio 2013 and earlier, use Get-Package instead.

コンソールの可用性Availability of the console

Visual Studio 2017 以降では、.NET 関連のワークロードを選択すると、NuGet と NuGet パッケージ マネージャーが自動的にインストールされます。また、Visual Studio インストーラーで [個別のコンポーネント] > [コードツール] > [NuGet パッケージ マネージャー] を選択して、個別にインストールすることもできます。Starting in Visual Studio 2017, NuGet and the NuGet Package Manager are automatically installed when you select any .NET-related workloads; you can also install it individually by checking the Individual components > Code tools > NuGet package manager option in the Visual Studio installer.

また、Visual Studio 2015 以前で NuGet パッケージ マネージャーが見当たらない場合は、[ツール] > [拡張機能と更新プログラム] を選択して、NuGet パッケージ マネージャー拡張機能を検索してください。Also, if you're missing the NuGet Package Manager in Visual Studio 2015 and earlier, check Tools > Extensions and Updates... and search for the NuGet Package Manager extension. Visual Studio 内で拡張機能のインストーラーを使用できない場合は、拡張機能を https://dist.nuget.org/index.html から直接ダウンロードできます。If you're unable to use the extensions installer in Visual Studio, you can download the extension directly from https://dist.nuget.org/index.html.

パッケージ マネージャー コンソールは、現在、Visual Studio for Mac では使用できません。The Package Manager Console is not presently available with Visual Studio for Mac. ただし、これと同等のコマンドは、NuGet CLI を介して使用できます。The equivalent commands, however, are available through the NuGet CLI. Visual Studio for Mac には、NuGet パッケージを管理するための UI が用意されています。Visual Studio for Mac does have a UI for managing NuGet packages. プロジェクトに NuGet パッケージを含める」を参照してください。See Including a NuGet package in your project.

パッケージ マネージャー コンソールは、Visual Studio Code には含まれていません。The Package Manager Console is not included with Visual Studio Code.

パッケージ マネージャー コンソールを拡張するExtend the Package Manager Console

一部のパッケージでは、コンソール用の新しいコマンドがインストールされます。Some packages install new commands for the console. たとえば、MvcScaffolding では、Scaffold コマンドが次のように作成され、これにより、ASP.NET MVC のコントローラーとビューが生成されます。For example, MvcScaffolding creates commands like Scaffold shown below, which generates ASP.NET MVC controllers and views:

MvcScaffold のインストールと使用

NuGet PowerShell プロファイルを設定するSet up a NuGet PowerShell profile

Powershell プロファイルを使用すると、PowerShell を使用するすべての場所で、一般的に使用されるコマンドを使用できるようになります。A PowerShell profile lets you make commonly-used commands available wherever you use PowerShell. NuGet では、NuGet 固有のプロファイルがサポートされます。これは通常、次の場所にあります。NuGet supports a NuGet-specific profile typically found at the following location:

%UserProfile%\Documents\WindowsPowerShell\NuGet_profile.ps1

プロファイルを検索するには、コンソールで「$profile」と入力します。To find the profile, type $profile in the console:

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

詳細については、「Windows PowerShell プロファイル」を参照してください。For more details, refer to Windows PowerShell Profiles.

コンソールで nuget.exe CLI を使用するUse the nuget.exe CLI in the console

パッケージ マネージャー コンソールで nuget.exe CLI を使用できるようにするには、コンソールから NuGet.CommandLine パッケージをインストールします。To make the nuget.exe CLI available in the Package Manager Console, install the NuGet.CommandLine package from the console:

# Other versions are available, see https://www.nuget.org/packages/NuGet.CommandLine/
Install-Package NuGet.CommandLine -Version 4.4.1