无法在VS2012中更新或卸载NuGet Package Manager

时间:2013-02-05 18:45:26

标签: visual-studio visual-studio-2012 nuget

我无法更新或卸载Visual Studio 2012的NuGet包管理器。我已经查看了几个解决方案,但没有找到可行的解决方案。

以管理员身份运行Visual Studio 2012 ...

尝试更新NuGet包管理器失败,我在日志末尾看到以下错误对话框:

enter image description here

  

2/5/2013 10:38:09 AM - 开始安装Microsoft Visual Studio Ultimate 2012扩展程序...   2/5/2013 10:38:09 AM - 将'NuGet Package Manager'版本2.0.30625.9003升级到版本2.2.31210.9045。   2/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扩展,布尔perMachine,AsyncOperation asyncOp)

随后弹出一个告诉我的信息:

  

进程cannon访问该文件,因为它正由另一个进程使用。

enter image description here

当我首先尝试卸载扩展程序时(每some solutions),我会收到与上面相同的弹出消息,告诉我正在使用该进程!

我努力实现这一目标的步骤:

  1. 我已多次重启VS2012,无论是否加载了项目。
  2. 我已经多次重启计算机并且在VS2012之外什么都没有启动。
  3. 我已经从网上下载了NuGet安装程序并尝试安装它,无需启动VS2012(重启后的第一件事)。
  4. 对于步骤#3,我收到与尝试在Visual Studio 2012中更新时相同的一系列对话框/错误。

    无论我尝试什么,我都无法获得最新版本!有没有人有另一招?

    我也注意到NuGet现在显然不能正常工作。 “软件包管理器控制台”或“软件包管理器设置”都不做任何事情。

4 个答案:

答案 0 :(得分:81)

来源:

这对我有所帮助:

  1. 关闭Visual Studio的所有实例。
  2. 转到全局Visual Studio扩展文件夹。 NuGet没有 安装在每个用户文件夹中;相反,你会在程序中看到它 文件。类似于:C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions
  3. 查看该文件夹。你会看到很多随机命名的文件夹 比如“sdjfksiov.djd”等等。大多数(如果不是全部)都是 的NuGet。你会想知道哪些是NuGet,哪些是 其中没有,特别是如果你安装了其他扩展。 (你可以判断它是否是NuGet,因为它会有很多 那里有NuGet。*。dll文件。如果你没有看到NuGet的东西, 你会想保留它。)
  4. 将Extensions文件夹重命名为:C:\ Program Files (x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions_RENAMED
  5. 直接从Visual Studio扩展程序库下载NuGet。
  6. 执行刚刚下载的下载的NuGet.Tools.vsix文件。 不要通过Visual Studio来完成。只需双击.vsix文件即可 安装它。
  7. NuGet应该成功安装。作为该安装的一部分,它将 再次创建Extensions文件夹,这样您将再次看到 C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \扩展
  8. 打开重命名的扩展文件夹并移动所有非NuGet 扩展到新的Extensions文件夹。
  9. 现在打开Visual Studio。你应该看到NuGet的新版本 安装和工作。
  10. 您可以在验证后删除重命名的Extensions文件夹  一切正常。
  11. 下载VSIX并右键单击取消阻止该文件并重新安装

答案 1 :(得分:7)

我正在使用VS2010,我最后通过“添加删除程序”卸载NuGet Package Manager来修复此问题,然后删除此目录:

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

然后我就可以运行NuGet.Tools.vsix了。

答案 2 :(得分:1)

我安装了VS 2013 Pro。为我解决这个问题的原因是重启进入安全模式并在那里重新安装NuGet。

您可能还想查看下面链接中的Adam D的帖子(加载项被反恶意软件软件阻止):

Can't Update or Uninstall NuGet Package Manager in VS2012

答案 3 :(得分:0)

我找到了解决此问题的方法 - https://kc.mcafee.com/corporate/index?page=content&id=KB85636&snspd-1015&locale=en_GB&viewlocale=en_GB

<强>原因:

必须在EEFF / FRP进程排除注册表项中排除Microsoft Visual Studio(VS)进程devenv.exe。

<强>解决方案: 遇到此问题的用户必须联系英特尔安全技术支持并引用此文章编​​号,以获取有关将devenv.exe进程添加到正确的EEFF / FRP进程排除注册表项的帮助。