46

Visual Studio 2012 の NuGet パッケージ マネージャーを更新またはアンインストールできません。いくつかのソリューションを調べましたが、機能するソリューションが見つかりませんでした。

管理者としてVisual Studio 2012 を実行しています ...

NuGet パッケージ マネージャーを更新しようとすると失敗し、ログの最後に次のエラー ダイアログが表示されます。

ここに画像の説明を入力

2013 年 2 月 5 日 10:38:09 AM - Microsoft Visual Studio Ultimate 2012 への拡張機能のインストールを開始しています... 2.2.31210.9045。2013 年 2 月 5 日 10:38:10 AM - インストール エラー: System.IO.IOException: 別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。Microsoft.VisualStudio.ExtensionManager. ExtensionManagerService.AtomicallyDeleteFiles(IEnumerable 1 filePaths, Boolean justMarkForDeletion) at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.DeleteDiscoverableFiles(IInstalledExtension extension) at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.UninstallInternal(IInstalledExtension extension, Boolean forceDelete) at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.CommitInstalledAndUninstalledExtensions(IEnumerable1 installedExtensions, IEnumerable1 uninstalledExtensions, IEnumerable1 packComponentChanges) の Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.BeginInstall(IInstallableExtension installableExtension, Boolean perMachine, AsyncOperation asyncOp) at Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.InstallWorker(IInstallableExtension extension, Boolean perMachine, AsyncOperation asyncOp)

続いて、次のようなポップアップが表示されます。

ファイルが別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。

ここに画像の説明を入力

最初に拡張機能をアンインストールしようとすると (一部のソリューションによると)、上記と同じポップアップ メッセージが表示され、プロセスが使用されていることがわかります!

これを機能させるために私が行った手順:

  1. プロジェクトがロードされているかどうかに関係なく、VS2012を複数回再起動しました。
  2. コンピューターを数回再起動しましたが、VS2012 以外は何も開始しませんでした。
  3. NuGetインストーラーをWebからダウンロードし、VS2012を起動せずにインストールしようとしました(再起動後の最初のこと)。

手順 3 で、Visual Studio 2012 内で更新しようとしたときと同じ一連のダイアログ/エラーが表示されます。

どう頑張っても最新版にならない!誰か別のトリックを持っていますか?

また、NuGet が現在機能していないことにも気付きました。「パッケージマネージャーコンソール」も「パッケージマネージャー設定」も何もしません。

4

4 に答える 4

82

ソース:

これが私を助けたものです:

  1. Visual Studio のすべてのインスタンスを閉じます。
  2. グローバルな Visual Studio 拡張機能フォルダーに移動します。NuGet はユーザーごとのフォルダーにはインストールされません。代わりに、Program Files に表示されます。次のようなもの: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions
  3. そのフォルダを見てください。「sdjfksiov.djd」などのランダムな名前のフォルダーが多数表示されます。それらのほとんど (すべてではないにしても) は NuGet です。特に他の拡張機能がインストールされている場合は、どれが NuGet でどれがそうでないかを認識しておく必要があります。(そこに NuGet.*.dll ファイルがたくさんあるので、NuGet かどうかはわかります。そこに NuGet のものが表示されない場合は、そのままにしておく必要があります。)
  4. その Extensions フォルダーの名前を次のように変更します: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions_RENAMED
  5. NuGet を Visual Studio 拡張機能ギャラリーから直接ダウンロードします。
  6. 先ほどダウンロードした NuGet.Tools.vsix ファイルを実行します。Visual Studio を使用しないでください。.vsix ファイルをダブルクリックしてインストールします。
  7. NuGet が正常にインストールされるはずです。そのインストールの一部として、Extensions フォルダーが再度作成されるため、C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions が再び表示されます。
  8. 名前を変更した拡張機能フォルダーを開き、NuGet 以外のすべての拡張機能を新しい拡張機能フォルダーに移動します。
  9. Visual Studio を開きます。新しいバージョンの NuGet がインストールされ、動作していることがわかります。
  10. すべてが機能していることを確認したら、名前が変更された Extensions フォルダーを削除できます。
  11. VSIX をダウンロードし、右クリックしてファイルのブロックを解除し、再度インストールします。
于 2013-10-18T09:21:07.197 に答える
7

私はVS2010を使用しています。「プログラムの追加と削除」からNuGetパッケージマネージャーをアンインストールし、このディレクトリを削除することで、この問題を修正しました。

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\Nuget Package Manager

その後、NuGet.Tools.vsix を正常に実行できました。

于 2013-07-05T04:43:25.573 に答える
1

VS 2013 Pro をインストールしました。この問題を解決したのは、セーフ モードで再起動し、そこに NuGet を再インストールすることでした。

以下のリンクにある Adam D の投稿も参照してください (アドインはマルウェア対策ソフトウェアによってブロックされました)。

VS2012 で NuGet パッケージ マネージャーを更新またはアンインストールできない

于 2015-03-06T06:13:34.877 に答える