web-dev-qa-db-ja.com

ソリューションのどのプロジェクトからも参照されていないNuGetパッケージを削除するにはどうすればよいですか?

どういうわけかVS2012と.NET 4.5へのアップグレード中に、NuGetを混乱させることができました。パッケージマネージャー(およびパッケージフォルダー)に表示され、削除できないパッケージがあります(新しいバージョンで新しいパッケージ名に置き換えられたレガシーASP.NET NuGetパッケージであると考えられます。それぞれに- 管理ボタン-しかし、アンインストールボタンはありません。そして、それらが使用されている場所を見ると、ソリューションのプロジェクトのどれによっても参照されていないことがわかりますか?NOT =アンインストールを表示しますか?

134
Howard Pinsley

パッケージマネージャーコンソールでコマンドUninstall-Package PackageIdを使用して削除するか、ソリューションフォルダーの下の「packages」フォルダーからパッケージフォルダーを削除できます。 Package Manager Consoleの詳細については、次を参照してください。 http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference

104
Pavel Bakshy

これに対する回避策を見つけました。

  1. パッケージの復元と自動チェックを有効にします(オプション/パッケージマネージャー/一般)
  2. パッケージフォルダーの内容全体を削除します(緊張している場合はごみ箱へ!)
  3. ソリューションのNugetパッケージを管理する
  4. 復元ボタンをクリックします。

NuGetは、ソリューションで使用されているパッケージをonlyに復元します。最終的には、すてきな、合理化されたパッケージのセットになります。

154
James L

まず、パッケージマネージャーコンソールを開きます。次に、ドロップダウンリストからプロジェクトを選択します。また、nugetパッケージをアンインストールするには、次のコマンドを実行します。

Get-Package

インストールしたすべてのパッケージを取得します。

その後

Uninstall-Package PagedList.Mvc

--- PagedList.MVCという名前のパッケージをアンインストールする

メッセージ

PM> Uninstall-Package PagedList.Mvc
Successfully removed 'PagedList.Mvc 4.5.0.0' from MCEMRBPP.PIR.
15

ソリューション内の複数のプロジェクトに適用されるNugetパッケージを削除/アンインストールする場合は、次の場所に移動します。

  1. ツール-> Nuget Package Manager->ソリューションのNugetパッケージの管理

  2. 「インストール済みパッケージ」の左側の列で「すべて」を選択すると、インストール済みパッケージのリストとそれらのパッケージの管理ボタンが表示されます。

  3. [管理]ボタンを選択すると、ポップアップが表示され、プロジェクト名のチェックボックスをオフにしてOk it

残りの作業は、パッケージマネージャーが行います。

8
d689p

Uninstall-Packageユーティリティを使用してパッケージを削除し、ソリューションの下のパッケージディレクトリから目的のパッケージを削除した場合(そしてまだエラーが発生している場合)、開いてくださいコードエディタで* .csprojファイルを作成し、タグを手動で削除します。たとえば、NugetパッケージXamarin.Forms.Aliasを削除したいので、*。csprojファイルからこれらの行を削除しました。

Removing nuget package from msbuild script

最後に、Visual Studioでプロンプトが表示されたら(プロジェクトファイルを変更した後)、プロジェクトをリロードすることを忘れないでください。 Visual Studio 2015で試しましたが、Visual Studio 2010以降でも動作するはずです。

お役に立てれば。

2
A.B.

別の方法として、ソリューションの任意のプロジェクトで削除する未使用のパッケージをインストールし、その後アンインストールするとNugetによっても削除されます。

ここには適切なアンインストーラーが必要です。

1
D.Rosado

1つのNuGetパッケージは別のNuGetパッケージを参照できます。そのため、パッケージ間の依存関係には十分注意してください。 Googleマップパッケージをアンインストールした後、Newtonsoft、Entity Frameworkなどの基礎となるパッケージをアンインストールしました。

そのため、packagesフォルダーから特定のパッケージを手動で削除する方が安全です。

1
Aki

他の方法、そして私にとって最も簡単なのは:

  1. Soutionに移動して、これを右クリックします。

  2. [ソリューションの管理対象NUgetsパッケージ]オプションを選択します。ポップアップウィンドウが開き、[設定]ボタンをクリックします。これにより、他のポップアップウィンドウが開き、「パッケージマネージャー」が検索されます。

  3. [パッケージマネージャー]オプションには、さらに2つのオプションがあります(I.一般II。パッケージソース)。各オプションですべてのチェックボックスをオフにします。

この手順により、プロジェクトからNuGetが非アクティブ化されます。

本当にお役に立てば幸いです。

0
amedriveroperez

解決策1

Powershellパイプラインを使用してパッケージを取得し、このような単一のステートメントで削除します

Get-Package | Uninstall-Package

解決策2

選択したパッケージをアンインストールする場合は、次の手順に従ってください

  1. GetPackagesを使用してパッケージのリストを取得します
  2. ダウンロードニンブルテキストソフトウェア
  3. NimbleTextのGetPackagesの出力をコピーします(リストウィンドウの各行に対して)
  4. 必要に応じて、列セパレーターを(に設定します
  5. タイプUninstall-Package $0(パターンウィンドウを使用して置換)
  6. 結果をコピーしてPackage Manage Consoleに貼り付けます

それはすべての人々です。

0
irfandar

パッケージマネージャーコンソールウィンドウから、多くの場合、パッケージのインストールに使用したコマンドを使用して、そのパッケージをアンインストールできます。 INSTALLコマンドをUNINSTALLに置き換えるだけです。

たとえば、PowerTCPTelnetをインストールするには、コマンドは次のとおりです。

Install-Package PowerTCPTelnet -Version 4.4.9

同じをアンインストールするには、コマンドは次のとおりです。

Uninstall-Package PowerTCPTelnet -Version 4.4.9

0
Jazimov