2017-08-07 146 views
0

我正在安装一个大型C#项目,我被告知要先将3.3到3.4或更高版本的nuget升级。无法升级VS2015的nuget

我下载的NuGet扩展(VS 2015年VSIX v3.4.4),并试图安装它,我得到这个:

8/7/2017 2:04:32 PM - Upgrading 'NuGet Package Manager for Visual Studio 2015', version 3.3.0.167 to version 3.4.4.1321. 
8/7/2017 2:04:41 PM - Install Error : System.IO.IOException: The process cannot access the file because it is being used by another process. 
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 

我尝试另一种方式 - 从内VS2015,工具 - >扩展和更新,发现现有的NuGet并试图先卸载它,我得到:

The process cannot access the file because it is being used by another process. 

我掀起了“进程管理器”,发现两个过程中使用的NuGet:铬和devenv.exe的。 devenv是VS2015实例的一个过程。无论如何,我退出VS2015,甚至铬,没有帮助,相同的错误信息,当安装扩展。

其他的事情我想:

我发现正在使用的NuGet是在“C:\ Program Files文件(x86)的\的NuGet”,我取代现有的以nuget.exe的新版本,以及如在C nuget.tools:\程序文件(x86)\的NuGet \的Visual Studio 2015年,然后我就开始再次VS仍然得到了同样的信息

The process cannot access the file because it is being used by another process. 

我删除了项目下的包文件夹,以及为下/.nuget,没有帮助。

我搜索了一下,发现这个link,但它也没有帮助解决问题。我承认我在智慧的结尾。

+0

您是否启用了磁盘加密? – gravity

+0

这是办公电脑,我不这么认为,但不确定,我怎么说? –

+0

问问您的基础设施人员。 – Amy

回答

0

未能升级的NuGet为VS2015

这个问题应该是在核心的Visual Studio扩展性的错误或问题。这不是NuGet特定的问题。它通常与诸如反病毒或加密服务之类的东西有关。我想在这里提供一些故障排除:

  • 以管理员身份登录到计算机并使用管理员启动Visual Studio。
  • 检查您的计算机是否安装了McAfee Endpoint Encryption full-disk encryption product,而不是防病毒软件。如果是,您应该从全磁盘加密中排除devenv.exeVSIXInstaller.exe

    这里有一个注册表片段,告诉McAfee Endpoint Encryption排除这些文件。一旦你这样做,重新启动PC:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MfeEEFF\ExemptedProcesses] "1"="devenv.exe" "2"="VSIXInstaller.exe"

    有关详细信息,请检查SO上的the answer for the same issue

  • 关闭Visual Studio和删除所有C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions包含的NuGet

    副本
    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,因为它会有一堆NuGet。* .dll文件在那里,如果你没有看到NuGet的东西,你会想保留它。)

    4. Rename该扩展文件夹类似于: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应该成功安装。作为安装的一部分,它将再次创建扩展文件夹,因此您将再次看到C:\ Program Files文件(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions

    8. 打开您的重命名的扩展文件夹并将所有非NuGet扩展移到新的扩展文件夹中。

    9. 现在打开Visual Studio。你应该看到新版本的NuGet已经安装并正在工作。

    10. 您可以删除重命名的扩展文件夹,一旦你验证一切工作

希望这可以给你一些帮助。