VS项目中使用Nuget还原包后编译生产还一直报错?

Posted 深入学习ing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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还原包后编译生产还一直报错?的主要内容,如果未能解决你的问题,请参考以下文章

VS一直停留在“正在还原nuget程序包”

VS下载Github的项目引用报错

VS2017编译成功但是没有生成.exe文件

1分钟解决VS每次运行都显示“正在还原nuget程序包”问题

Jenkins结合.net平台工具之Nuget

NuGet 包还原 + NuGet 源设置