在编译Google-api-dotnet-client 的时候遇到了 还原程序包出错的问题,如下:
还原 NuGet 程序包时出错: 本地源“K:google-api-dotnet-client-1.57.0google-api-dotnet-client-1.57.0NuPkgsSupport”不存在。
原因分析:
Nuget 作用:
Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展。在使用Visual Studio 或.NET CLI开发基于.NET 或.NET Framework的应用时,Nuget能把在项目中添加、移除和更新引用的工作变得更加快捷方便。
简单点NuGet 是Visual Studio 上管理 “头文件/库文件 程序包Packages” 的自动导入的工具,跟Python 的PIP 等自动下载,安装引用的Packages 工具类似,可以省掉很多的头文件,依赖库管理的时间。这个工具可以在 Visual Studio 中找到控制台入口:
解决方法:
找到工程文件下的 NuGet.Config 文件,打开,找到配置如下:
删除(最简单的方案是删除),然后保存,记得重启Visual Studio 否则没有效果。
原因是本地没有Packages 缓存在这个目录,让Intellisense 到官网去下载对应的Packages文件。
此时重新编译就应该可以了。
如果还存在一些包含的库文件找不到的情况,可以按照如下操作解决:
搜索找不到的Package 包名 Newtonsoft.Json
这个是报了一大堆的找不到包名的错误,先别慌。
搜索对应的官网包名,如下:
找到关键的NuGet 命令行工具:
Install-Package Newtonsoft.Json -Version 13.0.1
有些朋友可能纳闷,这个应该在哪里输入呢,答案是需要在Visual Studio 中输入,打开方式是这篇文章的第一张图中的菜单“工具/NuGet包管理器/程序包管理器控制台”,打开结果如下:
这时候,会出现如下的报错:
原因是因为,刚才删除了 NuGet.Config中的配置,但是没有重启,重启后可以解决。解决之后效果如下:
报错就全部解决了,这时就可以正常编译了,尽情享受愉快的编程之旅吧!



