2011-11-29 161 views
42

我無法通過Nuget安裝任何軟件包。例如,當我想安裝實體框架,我收到以下錯誤:NuGet在安裝軟件包時添加參考錯誤

install-package EntityFramework 
Successfully installed 'EntityFramework 4.2.0.0'. 
Successfully uninstalled 'EntityFramework 4.2.0.0'. 
Install failed. Rolling back... 
Install-Package : Failed to add reference to 'EntityFramework'. 
At line:1 char:16 
+ install-package <<<< EntityFramework 
    + CategoryInfo   : NotSpecified: (:) [Install-Package], InvalidOperationException 
    +FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand 

我收到同樣的錯誤,同時從控制檯或GUI安裝的軟件包中。重新安裝nuget,禁用其他擴展並以管理員身份運行VS並沒有幫助我。

Regards

+0

你能檢查你的csproj文件?它不應該是隻讀的。 –

+0

@DimaPasko:沒有隻讀我可以手動添加引用,nuget無法做到。我創建了新的項目,但我得到同樣的錯誤。 –

+0

你將它安裝到什麼樣的項目? – davidfowl

回答

5

我也遇到過這個問題。不幸的是,唯一能解決這個問題的解決方案是完全卸載Visual Studio,刪除卸載後重新啓動計算機,然後重新安裝Visual Studio後留下的所有文件夾。

Visual Studio'修復'不適合我。只有完成重新安裝。

70

我也有這個問題,這對我工作的修復是:

  1. 刪除包文件夾內的所有文件夾。
  2. 更新Nuget Package Manager中的所有包。
+1

thx爲我修復了這個問題 – teebot

+2

必須是Nuget中的錯誤 –

+3

只需刪除軟件包文件夾中的EF文件夾即可。 – Ron

5

我有這個問題太我所做的是在包管理器控制檯Uninstall-Package EntityFramework -force類型,然後刪除包文件夾中的EntityFramework文件夾,然後再重新安裝Install-Package EntityFramework

0

發生在我的實體框架的版本問題。 我正在使用舊版本的實體框架,刪除舊版本的EF並重新安裝它的最新版本可用幫助我解決了這個問題。

1

我遇到了同樣的問題。我做了以下內容:

update-package jQuery. 

Install-Package Twitter.Bootstrap -Version 3.0.0 

它的工作,可能是因爲與JQuery的最新版本的引導-version 3.0.0工作。

3

通過清除包緩存解決了這個問題:

Tools->package Manager->Package Manager Settings-> Clear Package Cache 
+10

我沒有找到「Clear Package Cache」選項。 –

1

對於我來說,這個問題是固定git clean -dfx

+0

巧妙的把戲,爲我工作! – georgiosd

7

也一樣。最後它發生在

Tools -> Options -> Nuget Package Manager -> Package Sources 

nuget.org沒有被選中。檢查它可以解決問題。

+0

也按清除緩存按鈕 – user3728728

+0

上帝保佑你的靈魂!這使我失去了我的狗屎幾個小時.... –

7

這裏是解決了這個問題對我來說:VS2012EF6

我發現我的答案在這裏:http://richardschneider.net/blog/wordpress/?p=21

從VS命令提示符,運行以下命令:

regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VsLangproj.olb" 

之後,轉到程序包管理器控制檯並運行以下命令:

Install-Package EntityFramework -Version 6.1.3 
+0

除此之外,我從./packages中刪除了Entity Framework,然後運行包管理器命令。作品。 –

0

要是我的Windows 10的機器上幾乎同樣的問題,便無法弄清楚,爲什麼沒有提到工作在TFS中運行「獲取最新版本」之後的Visual Studio 2015中,以及爲什麼我無法恢復NuGet包。出於某種原因的NuGet添加兩個包文件夾複製到電腦和我以前只刪除了項目包文件夾:

地點:

C:\Users\YourUser\Documents\Visual Studio 2015\Projects\YourProject\packages C:\Users\YourUser.nuget\packages

當這兩個文件夾中刪除我能恢復的NuGet包的包和一切再次奏效。

0

我刪除了項目,新建了一個,第一個添加了實體框架引用。它的工作..移動必要的代碼回到項目

0

在我的情況下,刪除Bin文件夾中所有出現的'EntityFramework ...'文件(在Windows資源管理器中打開文件夾)工作形式。我的項目中沒有包文件夾。 'EntityFramework ...'文件是通過不同的操作添加的。

注意:您可能需要重建項目以刪除錯誤。

0

當我去到Visual Studio 2015年更新3,它打破了我,我試過很多的步驟,在其他的答案清除包文件夾/緩存/等

最後我得到它通過工作:

  • 完全卸載。
  • 尋找所有文件/位置的Visual Studio(AppData/Documents/etc)。
  • 新的重新安裝,它仍然沒有工作(我錯過了其他地方的文件)。
  • devenv命令:像/resetuserdata/resetsettings
  • 冉修復動作。

所以,只要記下做一個完整的卸載不會清除所有的設置/緩存數據。

0

我在安裝AttributeRouting軟件包時遇到了這種情況。 google搜索了一會兒後,我嘗試以下步驟,它爲我工作:

  1. 工具>擴展和更新:卸載的NuGet包管理器,然後重新安裝。重新啓動Visual Studio。

  2. 工具>選項>包管理器>包源碼:請確保檢查nuget.org源文件。

希望得到這個幫助。

0

在我的情況下,指定desidered版本已經解決了這個問題。 這可能是因爲同一解決方案中的不同項目引用了相同包的不同版本。在那種情況下,Nuget不知道需要的版本,因此是例外。

只要使用這個語法:

Install-Package XXXX -Version A.B.C.D