Не удается обновить или удалить диспетчер пакетов 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 сейчас просто не работает. Ни "Консоль диспетчера пакетов", ни "Настройки диспетчера пакетов" ничего не делают.
Ответы
Ответ 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.