2017-08-07 141 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. 您可以刪除重命名的擴展文件夾,一旦你驗證一切工作

希望這可以給你一些幫助。