星空网 > 软件开发 > ASP.net

使用NuGet时的一个乌龙

问题描述

最近自己做的一个项目,计划开始使用NuGet来管理dll,但是遇到一个奇怪,但是结果证明是个乌龙的问题。

新建一个WebApi项目,使用NuGet管理第三方dll,其中有引用Newtonsoft.Json,版本为5.0.6,确认项目引用也没有问题如下图。

使用NuGet时的一个乌龙

使用NuGet时的一个乌龙

接着将项目上传到GitHub上,上传的时候会忽略NuGet生成的packages目录。

然后,从GitHub克隆项目到本地,在编译项目,还没有还原NuGet引用时,Newtonsoft.Json引用的是系统的,如下图。

使用NuGet时的一个乌龙

然后,重新编译项目,还原NuGet引用,同时也生成了packages目录。但是Newtonsoft.Json显示还是引用的系统的4.5.0版本,但是查看生成的bin目录,的确是NuGet引用的5.0.6版本。

使用NuGet时的一个乌龙

所以,问题来了,为什么没有引用NuGet的packages目录中的,却还是引用系统的呢?

分析思路

首先,查看MSBuild的生成输出,发现copy的路径没有问题,如下图。

使用NuGet时的一个乌龙

然后,能想到的是使用程序集重定向,强制它使用5.0.6版本,所以在web.config中加入下面的代码。

使用NuGet时的一个乌龙

重新生成项目, 发现项目引用的依旧是系统的,如下图。

使用NuGet时的一个乌龙

到这里,能想到的方法基本都想了,但为什么项目还是显示引用系统的dll呢。

然后就问同事,同事过来就刷新了一下项目,居然就ok了,显示正确地引用了NuGet的packages目录。

原来只是没有刷新,项目上显示引用旧的而已,哎,真是个大乌龙啊!

所以在这里总结出来,以免以后还犯这样的低级错误。




原标题:使用NuGet时的一个乌龙

关键词:get

get
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

eBay英国站物流政策更新!lisitng页面也有重大调整!:https://www.kjdsnews.com/a/1695268.html
斯通布里推荐丨Nox聚星《2023中东网红营销生态报告》:出海“新热土”,中东网红营销市场数据最全解析!:https://www.kjdsnews.com/a/1695269.html
砍单标签来了!卖家:旺季结束:https://www.kjdsnews.com/a/1695270.html
一篇文章带你了解商标注册:津巴布韦:https://www.kjdsnews.com/a/1695271.html
新增2.5万名卖家!Meesho第三方市场加速崛起!:https://www.kjdsnews.com/a/1695272.html
2023十大营销翻车案例:https://www.kjdsnews.com/a/1696234.html
亚马逊旺季运营攻略:https://www.xlkjsw.com/news/39627.html
亚马逊突破发货限制的操作原理及应对方法:https://www.xlkjsw.com/news/39628.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流