NuGet で packages.config 内のすべてのパッケージをインストール/更新するにはどうすればよいですか? 質問する

NuGet で packages.config 内のすべてのパッケージをインストール/更新するにはどうすればよいですか? 質問する

複数のプロジェクトを含むソリューションがあります。サードパーティの参照のほとんどが欠落していますが、packages.config各プロジェクトのファイルはあります。必要なすべてのパッケージを NuGet でインストール/更新するにはどうすればよいですか?これはプロジェクトごとにコマンド ラインで実行する必要がありますか?

ベストアンサー1

使用できますnuget.exeパッケージを復元するか、NuGet 2.7 以降がインストールされている場合は、Visual Studio でソリューションをコンパイルするだけで、不足しているパッケージも復元されます。

NuGet.exe の場合、プロジェクトごとに次のコマンドを実行できます。

nuget install packages.config

またはNuGet 2.7ではソリューション内のすべてのパッケージを復元できますコマンドラインを使用します。

nuget restore YourSolution.sln

どちらもパッケージをダウンロードします。ただし、このコマンドを実行してもプロジェクト ファイルは変更されないため、プロジェクトには既に NuGet パッケージへの参照があるはずです。そうでない場合は、Visual Studio を使用してパッケージをインストールできます。

NuGet 2.7 以降では、ソリューションをビルドするときに Visual Studio によって不足している NuGet パッケージが自動的に復元されるため、NuGet.exe を使用する必要はありません。

ソリューション内のすべてのパッケージを更新するには、まずそれらを復元し、次に NuGet.exe を使用してパッケージを更新するか、Visual Studio 内のパッケージ マネージャー コンソール ウィンドウからパッケージを更新するか、最後に [パッケージの管理] ダイアログを使用します。

コマンド ラインから、ソリューション内のパッケージを nuget.org から入手できる最新バージョンに更新できます。

nuget update YourSolution.sln

ただし、これにより、NuGet パッケージ内の PowerShell スクリプトは実行されないことに注意してください。

Visual Studio内から、パッケージ マネージャー コンソールパッケージも更新します。これには、PowerShell スクリプトが更新の一部として実行されるという利点があります。NuGet.exe を使用すると、PowerShell スクリプトは実行されません。次のコマンドは、すべてのプロジェクトのすべてのパッケージを、nuget.org から入手できる最新バージョンに更新します。

Update-Package

これを 1 つのプロジェクトに制限することもできます。

Update-Package -Project YourProjectName

以前インストールされたものと同じバージョンにパッケージを再インストールする場合は、コマンド-reinstallに引数を使用できますUpdate-Package

Update-Package -reinstall

これを 1 つのプロジェクトに制限することもできます。

Update-Package -reinstall -Project YourProjectName

この-reinstallオプションでは、最初にパッケージをアンインストールし、その後プロジェクトに再度インストールします。

または、ダイアログを使用してパッケージを更新することもできますManage Packages

アップデート:

  • 2013/07/10 - NuGet 2.7 の nuget restore に関する情報を更新しました
  • 2014/07/06 - Visual Studio での自動パッケージ復元に関する情報が更新され、NuGet のその他の変更に合わせて回答が最新のものになりました。
  • 2014/11/21 - 情報を更新しました-reinstall

おすすめ記事