NuGet在安装软件包时添加参考错误

问题描述:

我无法通过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

我也遇到过这个问题。不幸的是,唯一能解决这个问题的解决方案是完全卸载Visual Studio,删除卸载后重新启动计算机,然后重新安装Visual Studio后留下的所有文件夹。

Visual Studio'修复'不适合我。只有完成重新安装。

我也有这个问题,这对我工作的修复是:

  1. 删除包文件夹内的所有文件夹。
  2. 更新Nuget Package Manager中的所有包。
+1

thx为我修复了这个问题 – teebot

+2

必须是Nuget中的错误 –

+3

只需删除软件包文件夹中的EF文件夹即可。 – Ron

我有这个问题太我所做的是在包管理器控制台Uninstall-Package EntityFramework -force类型,然后删除包文件夹中的EntityFramework文件夹,然后再重新安装Install-Package EntityFramework

发生在我的实体框架的版本问题。 我正在使用旧版本的实体框架,删除旧版本的EF并重新安装它的最新版本可用帮助我解决了这个问题。

我遇到了同样的问题。我做了以下内容:

update-package jQuery. 

Install-Package Twitter.Bootstrap -Version 3.0.0 

它的工作,可能是因为与JQuery的最新版本的引导-version 3.0.0工作。

通过清除包缓存解决了这个问题:

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

我没有找到“Clear Package Cache”选项。 –

对于我来说,这个问题是固定git clean -dfx

+0

巧妙的把戏,为我工作! – georgiosd

也一样。最后它发生在

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

nuget.org没有被选中。检查它可以解决问题。

+0

也按清除缓存按钮 – user3728728

+0

上帝保佑你的灵魂!这使我失去了我的*几个小时.... –

这里是解决了这个问题对我来说: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,然后运行包管理器命令。作品。 –

从提升的提示符处运行此命令解决了我的问题:

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

来源:https://docs.nuget.org/Release-Notes/Known-Issues

要是我的Windows 10的机器上几乎同样的问题,便无法弄清楚,为什么没有提到工作在TFS中运行“获取最新版本”之后的Visual Studio 2015中,以及为什么我无法恢复NuGet包。出于某种原因的NuGet添加两个包文件夹复制到电脑和我以前只删除了项目包文件夹:

地点:

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

当这两个文件夹中删除我能恢复的NuGet包的包和一切再次奏效。

我删除了项目,新建了一个,第一个添加了实体框架引用。它的工作..移动必要的代码回到项目

更新我的Visual Studio 2015的Nuget停止工作。

阅读张贴的解决方案,我创办这是一个已知的bug后,看到http://blog.nuget.org/20150226/nuget-3.0-beta2.html

在Visual Studio我unistalled的NuGet扩展,关闭Visual Studio中,下载并安装最新的NuGet版本从 https://dist.nuget.org/index.html

它的工作

在我的情况下,删除Bin文件夹中所有出现的'EntityFramework ...'文件(在Windows资源管理器中打开文件夹)工作形式。我的项目中没有包文件夹。 'EntityFramework ...'文件是通过不同的操作添加的。

注意:您可能需要重建项目以删除错误。

当我去到Visual Studio 2015年更新3,它打破了我,我试过很多的步骤,在其他的答案清除包文件夹/缓存/等

最后我得到它通过工作:

  • 完全卸载。
  • 寻找所有文件/位置的Visual Studio(AppData/Documents/etc)。
  • 新的重新安装,它仍然没有工作(我错过了其他地方的文件)。
  • devenv命令:像/resetuserdata/resetsettings
  • 冉修复动作。

所以,只要记下做一个完整的卸载不会清除所有的设置/缓存数据。

我在安装AttributeRouting软件包时遇到了这种情况。 google搜索了一会儿后,我尝试以下步骤,它为我工作:

  1. 工具>扩展和更新:卸载的NuGet包管理器,然后重新安装。重新启动Visual Studio。

  2. 工具>选项>包管理器>包源码:请确保检查nuget.org源文件。

希望得到这个帮助。

在我的情况下,指定desidered版本已经解决了这个问题。 这可能是因为同一解决方案中的不同项目引用了相同包的不同版本。在那种情况下,Nuget不知道需要的版本,因此是例外。

只要使用这个语法:

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