Подтвердить что ты не робот

Не удается обновить или удалить диспетчер пакетов NuGet в VS2012

Я не могу обновить или удалить диспетчер пакетов NuGet для Visual Studio 2012. Я рассмотрел несколько решений, но не нашел того, что работает.

Запуск Visual Studio 2012 в качестве администратора...

Попытка обновить диспетчер пакетов NuGet завершается с ошибкой, и я получаю это диалоговое окно ошибки со следующим в конце журнала:

enter image description here

2/5/2013 10:38:09 AM - Начиная с установки расширения на Microsoft Visual Studio Ultimate 2012... 5/5/2013 10:38:09 AM - Обновление "диспетчера пакетов NuGet" версии 2.0.30625.9003 до версии 2.2.31210.9045. 5/5/2013 10:38:10 AM - Ошибка установки: System.IO.IOException: процесс не может получить доступ к файлу, потому что он используется другим процессом.    в System.IO.__ Error.WinIOError(Int32 errorCode, String maybeFullPath)    в System.IO.__ Error.WinIOError()    в System.IO.File.InternalMove(String sourceFileName, String destFileName, Boolean checkHost)    в 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(IEnumerable 1 installedExtensions, IEnumerable 1 uninstalledExtensions, IEnumerable 1 packComponentChanges)    в Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.BeginInstall(IInstallableExtension installableExtension, Boolean perMachine, AsyncOperation asyncOp)    в Microsoft.VisualStudio.ExtensionManager.ExtensionManagerService.InstallWorker(расширение IInstallableExtension, Boolean perMachine, AsyncOperation asyncOp)

После чего всплывающее сообщение сообщило мне:

Кэш процесса обращается к файлу, потому что он используется другим процессом.

enter image description here

Когда я пытаюсь сначала удалить расширение (за некоторые решения), я получаю такое же всплывающее сообщение, как указано выше, говоря, что этот процесс используется!

Шаги, которые я сделал в своих попытках добиться этого:

  • Я перезапустил VS2012 несколько раз, с загруженными проектами и без них.
  • Я перезагрузил компьютер несколько раз и не начал ничего другого, кроме VS2012.
  • Я загрузил установщик NuGet из Интернета и попытался установить его без запуска VS2012 (первая вещь после перезагрузки).

Для шага №3 я получаю ту же серию диалогов/ошибок, что и при попытке обновления внутри Visual Studio 2012.

Я не могу получить последнюю версию, независимо от того, что я пытаюсь! У кого-нибудь есть другой трюк?

Я также заметил, что NuGet сейчас просто не работает. Ни "Консоль диспетчера пакетов", ни "Настройки диспетчера пакетов" ничего не делают.

4b9b3361

Ответ 1

Источник:

Вот что мне помогло:

  • Закройте все экземпляры Visual Studio.
  • Перейдите в свою глобальную папку расширения Visual Studio. NuGet не делает установить в свою папку для каждого пользователя; вместо этого вы увидите это в программе Файлы. Что-то вроде: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions
  • Посмотрите в эту папку. Вы увидите много случайно названных папок как "sdjfksiov.djd" и т.д. Большинство (если не все) из них NuGet. Вы хотите знать, какие из них NuGet и какие например, если у вас установлены другие расширения. (Вы можете сказать, что это NuGet, потому что у него будет куча NuGet. *. DLL файлы. Если вы не видите материал NuGet там, вы захотите сохранить его.)
  • Переименуйте папку "Расширения" на что-то вроде: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions_RENAMED
  • Загрузите NuGet непосредственно из галереи расширения Visual Studio.
  • Выполняйте загруженный загруженный файл NuGet.Tools.vsix. Не делайте этого через Visual Studio. Просто дважды щелкните файл .vsix для его установки.
  • NuGet должен успешно установить. Как часть этой установки, она будет снова создайте папку "Расширения", чтобы снова увидеть C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions
  • Откройте свою папку с переименованными расширениями и переместите все не-NuGet расширения в новую папку "Расширения".
  • Теперь откройте Visual Studio. Вы должны увидеть новую версию NuGet установленных и работающих.
  • Вы можете удалить эту переименованную папку "Расширения" после проверки  все работает.
  • Загрузите VSIX и щелкните правой кнопкой мыши, чтобы разблокировать файл и установить его снова

Ответ 2

Я использую VS2010, я решил устранить эту проблему, удалив NuGet Package Manager с помощью "Add Remove Programs", а затем удалив этот каталог:

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

Затем я смог запустить NuGet.Tools.vsix.

Ответ 3

У меня установлен VS 2013 Pro. То, что решило эту проблему для меня, это перезагрузить в безопасный режим и переустановить NuGet.

Вы также можете заглянуть в сообщение Adam D в приведенной ниже ссылке (надстройка была заблокирована программным обеспечением для защиты от вредоносных программ):

Не удается обновить или удалить диспетчер пакетов NuGet в VS2012

Ответ 4

Я нашел решение для этой проблемы - https://kc.mcafee.com/corporate/index?page=content&id=KB85636&snspd-1015&locale=en_GB&viewlocale=en_GB

Причина:

Процесс Devenv.exe Microsoft Visual Studio (VS) должен быть исключен в разделе реестра исключения EEFF/FRP.

Решение: Пользователи с этой проблемой должны обратиться в службу технической поддержки Intel Security и процитировать этот номер статьи для помощи в добавлении процесса devenv.exe к правильному разделу реестра исключения EEFF/FRP.