1. ホーム
  2. nuget

[解決済み] packages.config にあるすべてのパッケージを NuGet にインストール/更新させるにはどうすればよいですか?

2022-03-14 16:26:18

質問

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

解決方法を教えてください。

を使用することができます。 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 内の Package Manager Console ウィンドウからパッケージを更新するか、最後に Manage Packages ダイアログを使用してパッケージを更新します。

コマンドラインから、ソリューション内のパッケージをnuget.orgから利用可能な最新バージョンに更新することができます。

nuget update YourSolution.sln

NuGet パッケージに含まれる PowerShell スクリプトは実行されないことに注意してください。

Visual Studio 内から パッケージマネージャーコンソール を使用して、パッケージの更新も行うことができます。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