web-dev-qa-db-ja.com

NuGetパッケージのアンインストールに関する問題

NuGetによってインストールされた一部のパッケージをアンインストールしようとしています。説明されているドキュメント here によると、インストール済みのパッケージを選択すると、Uninstallボタン(下の最初のスクリーンショット)が表示されます。ただし、Manageボタンしか表示されません(下の2番目のスクリーンショット)。パッケージをアンインストールする方法を誰かに教えてもらえますか?

NuGet Doc Screenshot

My Screenshot

15
StarCub

最後に、.slnソリューションファイルを手動で編集して、これらの行を削除する必要があることがわかりました。

GlobalSection(ExtensibilityGlobals) = postSolution
        EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.Interception.2.1.505.0\lib\NET35;packages\EnterpriseLibrary.Common.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Data.5.0.505.0\lib\NET35
EndGlobalSection

ソリューションファイルの上記の行を削除すると、それらのパッケージはNuGetパッケージウィンドウの[インストールされたパッケージ]ページに表示されなくなりました。残っているパッケージは1つだけで、「アンインストール」ボタンが表示されます。

enter image description here

編集:ソリューションディレクトリのパッケージフォルダも削除する必要がありました。

13
StarCub

リンクしているNuGetドキュメントページの インストール済みパッケージの管理 セクションまでスクロールすると、[管理]ボタンと説明が表示されます。

NuGet 1.4 には、ソリューションエクスプローラーでソリューションを選択し、複数のプロジェクトからパッケージを1ステップで追加/削除できる新機能が導入されました。以前は、ソリューションエクスプローラーで各プロジェクトを選択し、各プロジェクトから一度に1つずつパッケージを追加/削除する必要がありました。

[管理]ボタンをクリックすると、[プロジェクトの選択]ダイアログが表示され、NuGetパッケージをアンインストールするプロジェクトのチェックを外すことができます。

enter image description here

ソリューションエクスプローラーでソリューションではなくプロジェクトを選択すると、選択したプロジェクトからパッケージを追加/削除できます。この場合、[インストール]ボタンと[アンインストール]ボタンのみが表示されます。

13
Matt Ward

場合によっては、パッケージのアンインストールを許可しない依存関係がありますが、とにかくそうする必要があります(依存関係のあるパッケージの2つの異なるバージョンを誤ってインストールした場合など)。

これが発生した場合、パッケージをアンインストールする唯一の方法は、アンインストールを強制することであり、これはパッケージマネージャーコンソールからのみ実行できます。

コンソールに移動する前に、[NuGetパッケージの管理]ウィンドウを開き、パッケージをクリックすると右側のペインに表示されるパッケージのIDとバージョンを書き留めます。

次に、[管理]ウィンドウを閉じてコンソール(Package Manager Console)を開き、次のコマンドを実行します。

uninstall-package -Id YourPackageId -Force -Version YourPackageVersion

-Forceパラメータに注意してください。例えば

uninstall-package -Id Unity -Force -Version 3.0.1304.0

このコマンドを使用すると、バージョン2と並行してインストールされているバージョン3をアンインストールできます。これは、管理ウィンドウでは実行できません。

8
JotaBe

最近同様の問題がありました。プロジェクトは正常に機能しましたが、EnterpriseLibrary 5.0.505がソースから欠落していると表示されていたため、NuGetパッケージマネージャーを使用してパッケージを追加または削除できなくなりました。しかし、それを復元または削除しようとすると、「パッケージ「EnterpriseLibrary」のバージョン「5.0.505。」が見つかりません」というエラーで失敗しました。

これをたどると、packages.configファイルに次の参照が含まれています。

<package id="EnterpriseLibrary" version="5.0.505" targetFramework="net4" />

これを、最近パッケージを追加した他のソリューションと比較して、次のように変更し、問題を修正しました。

<package id="EnterpriseLibrary.Common" version="5.0.505.0" targetFramework="net4" />

Package.configファイルを手動で編集したことがないので、どのようにして不一致が発生したのかわかりません。おそらく、元々パッケージをインクルードしてから設定ファイルを更新せずにリファレンスが変更されたかもしれません...?

3
bgx

VS IDE [NuGetパッケージの管理]ダイアログまたはパッケージマネージャーコンソールを使用した後、パッケージフォルダーではなく、パッケージの一部であるファイルシステム上のソリューションファイルまたは他のファイルを手動で削除する必要がある場合があります。

マスターページ、ユーザーコントロール、クラスコードファイル、およびpackages.configファイルをASP.NET Webアプリケーションプロジェクト/ソリューションに追加したMicrosoft.AspNet.FriendlyUrlsパッケージを評価していました。 NuGet Packagesダイアログを使用してパッケージを削除する前に、ソリューションからこれらのファイルを手動で元に戻す/削除するのは間違いでした。その時点ですべてが混乱した。

他の人が言ったように、packagesフォルダーを削除することが解決策でした。しかし、そのフォルダの外にある、削除する必要のある他のファイルを手動で見つけなければなりませんでした。

0
JohnC

依存関係のあるCode First lib CTP5を削除するのに問題があり、アンインストールでメッセージが返されず、何も削除されませんでした。削除する必要のある参照をpackages.configから削除します。その後、それはもはやnugetに表示されなくなり、再インストールすることなく続行することができます。

0
Egon