启用Nuget包还原时出现奇怪的Nuget错误

时间:2013-10-26 00:17:25

标签: visual-studio-2010 nuget

我在VS2010中右键单击我的解决方案文件,然后点击Enable NuGet Package Restore,我收到一条错误消息Unable to read package from path 'NuGet.CommandLine.2.7.1.nupkg'.

我用Google搜索,看不到任何接近的东西。

有任何线索吗?

1 个答案:

答案 0 :(得分:12)

错误消息通常是因为NuGet无法打开NuGet包,因为它无法下载它。我会检查你的NuGet缓存,看看NuGet.CommandLine.2.7.1.nupkg文件是零字节还是小于预期。如果是,请删除文件或清除缓存,然后重试。有时下载可能会失败,NuGet leaves an empty file in the cache会导致安装NuGet包时出现问题。如果NuGet包没有完全下载,你也可以看到错误,因此包不会是零字节,但不会完全下载,NuGet无法打开它。所以值得从缓存中删除NuGet包并重试。

NuGet缓存位于以下目录中:

%localappdata%\NuGet\Cache

您还可以通过打开“程序包管理器设置”,选择“常规”并单击“浏览”按钮,从Visual Studio内部浏览NuGet缓存。

请注意,对于较新版本的NuGet 2.8,应该修复此问题。更高版本的NuGet将下载到临时文件位置,并在下载完成后重命名,因此部分下载的NuGet包不会留在缓存中。