NuGet软件包的“项目杂项文件”还原失败:值不能为null或空字符串。参数名称:root。0 0


89

我在vs 2012中遇到这样的错误:项目其他文件的NuGet包还原失败:值不能为null或空字符串。参数名称:root。0 0

我看到这是一个错误https://nuget.codeplex.com/workitem/3780,该错误已针对2.8版 进行了修复,但我在https://nuget.codeplex.com上找不到2.8版。错误没有安装2.8版本?或如何获得2.8?


1
我不确定细节,但是如果您尝试使用通过宏使用输出文件名,例如$(SolutionDir)$(Configuration)\ MyInstaller.msi,也会发生这种情况,在尝试构建VS时遇到了此问题安装程序和我以为我可以在输出文件名中使用宏。
ryancwarren 2014年

我的同事在VS 2013中使用了此工具(普通用户,没有Update 1或Update 2),他使用2.7.x NuGet。他现在将更新。
Csaba Toth 2014年

Answers:


153

我通过删除Visual Studio解决方案用户选项文件(.suo),然后重新启动VS来解决此问题。

更新:对于VS 2017,您需要删除位于解决方案目录中的名为.vs的隐藏文件夹(感谢@Tien Dinh!)


我有两个suo文件:<solutionName> .suo和<solutionName> .v11.suo我正在使用VS2012 Professional Update 3,并且都删除了它们。我现在只有<solutionName> .v11.suo文件。
Fellmeister

2
对于VS2017,只需删除一个名为.vs的隐藏文件夹
Tien Dinh

1
隐藏的.vs文件夹位于解决方案目录中。
JDawg '17

同样适用于Visual Studio 2017社区版。谢谢(y)
Najeeb

27

今天,VS2013遇到了同样的问题。在对已安装的软件包(工具->扩展和更新)(包括nuget)运行更新,并为VS2013安装一些更新(Windows更新包含一些更新)后,它消失了。

因此,基本上,检查那些更新,然后更新,它可能会解决问题。


15

我有VS2013。据扩展经理说,nuget是最新的。

从vsix站点进行手动安装:http ://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

...解决了这个问题。


这为我解决了这个问题。我只在发布版本中遇到问题。
ctorx 2014年

这个问题从无处出现,从根本上不存在,以获取有关解决方案和繁荣的最新信息。同样的问题是扩展管理器感到厌烦,并说它不是最新的。我爱微软,但我真的不明白他们在安装软件时是如此的糟糕。
克里斯·马里西奇

11

重新启动Visual Studio即可清除所有内容。升级Web API后,VS2013中出现了相同的问题。不必删除.suo。




3

没有确切的答案,但是我能告诉我,NuGet版本。2.8尚不可用。我已经有一段时间(2个月)处理相同的问题了。通过针对主项目执行构建,即使出现该错误,我仍然能够成功构建我的解决方案。我真的希望能解决此问题,因为它在工作时会引起严重的不适。




1

只是一个简短的说明。我通过在映射的网络驱动器(即)上运行项目而收到此错误T:\NetworkFolder\Project\Solution.sln

显然,解决方案很简单-不要这样做-将其复制到您的计算机上。在某些时候可能会减轻某人的痛苦。


1

上面的答案都没有对我有帮助,而且越来越令人沮丧。

对我有用的(使用Visual Studio Professional 2017,版本15.8.5)正在执行以下步骤;

1)工具>选项> NuGet程序包管理器>单击“清除所有NuGet缓存”

希望这对某人有帮助!


0

它对我没有用。我不得不去工具,扩展管理器...卸载NuGet重新启动Visual Studio 2010下载NuGet重新安装它。重新启动Visual Studio。固定所有!


0

让我们检查packages.config文件中的软件包名称。有时名称不正确


0

我因不小心将packages.config文件中的名称空间id属性之一重命名为其他错误而收到此错误。我可以通过比较签入的packages.config版本和本地版本来跟踪此事件。解决问题后,我要做的就是关闭packages.config文件,进行重建,然后问题就消失了。


0

在Visual Studio 2015中:

转到“选项”->“ NuGet程序包管理器”->“程序包源”,确保在“计算机范围的程序包”列表中选中了“ Microsoft和.Net”。


0

我卸载并重新安装了nUnit 3.7.1,一切再次开始正常工作。我有一些nuget软件包,但是nunit 3.7.1是我重新安装的唯一软件包,其余的我一个人留着。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.