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

har*_*ang 6 visual-studio-2010 nuget

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

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

任何线索?

Mat*_*ard 12

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

NuGet缓存位于以下目录中:

%localappdata%\NuGet\Cache
Run Code Online (Sandbox Code Playgroud)

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

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