首页 > 代码库 > VS项目中使用Nuget还原包后编译生产还一直报错?
VS项目中使用Nuget还原包后编译生产还一直报错?
Nuget官网下载Nuget项目包的命令地址:https://www.nuget.org/packages
今天就遇到一个比较奇葩的问题,折腾了很久终于搞定了:
问题是这样的:我的解决方案原本是好好的,但是其他朋友加个一个项目,我获取最新后,编译始终报错,说是这个项目缺少Nuget包引用,可是我在编译时明明已经还原了该项目引用的nuget包,同时也手动就行了nuget的包还原都不行,百思不得其解。报错如下:
报错信息说是:本计算机上面缺少此项目Seagull2.YuanXin.WebApi引用的nuget包,让我使用Nuget去还原。
缺少文件位置为:..\..\packages\Grpc.Core.1.0.0\build\net45\Grpc.Core.targets,完整本地路径为:
报错项目--》父目录--》父目录--》packages--》...
D:\SourceCode\MCSFramework\02.Develop\MobileWebApp\Seagull2\packages\Grpc.Core.1.0.0\build\net45\Grpc.Core.targets.bll
尝试处理办法:
1-使用项目-(右键)--管理nuget程序包工具:
不是让我还原吗,那我就去还原,我在我报错的项目中找了下已安装的Nuget包,发现这个包已经被安装了,那怎么还原呢? 于是卸载,更新,再重新安装都没用。
2-使用nuget控制台-(工具-Nuget包管理器-程序包管理控制台)--使用命令安装Grpc.Core.1.0.0到Seagull2.YuanXin.WebApi里:
Install-Package Grpc.Core
提示已存在,删除,重新装上还是一样失败。
3-直接Copy:
不是说我这个路径下缺少文件吗? 那我直接把下载好的包放在里面总可以了吧? 我个人测试,还是不行,编译还是报错。
终极解决办法:
由于该项目是别人添加的,这个项目的nuget包配置,已经被别人在他的解决方案里配置死了,因此我们可以(也可以说只能吧)通过,缺少文件的根目录下寻找那个含有该项目的解决方案,找到该项目直接编译就可以了(编译设置为下载缺少的nuget包),编译成功后,返回你的项目再编译就没问题了。
是不是解决了? 那就给我点个赞,留个言吧^^
备注:
A--还原Nuget包前,一定要确保你配置了该项目的包源:如果你没有那就找别人要吧。
工具-选项-Nuget包管理器-程序包源
B--配置编译时自动还原缺少的nuget包:
工具-选项-Nuget包管理器-常规 ---》勾选
VS项目中使用Nuget还原包后编译生产还一直报错?