複数のプロジェクトを含むソリューションがあります。サードパーティの参照のほとんどが欠落していますが、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