国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

使用NuGet時(shí)的一個(gè)烏龍

2019-11-14 15:48:49
字體:
供稿:網(wǎng)友

問題描述

最近自己做的一個(gè)項(xiàng)目,計(jì)劃開始使用NuGet來管理dll,但是遇到一個(gè)奇怪,但是結(jié)果證明是個(gè)烏龍的問題。

新建一個(gè)WebApi項(xiàng)目,使用NuGet管理第三方dll,其中有引用Newtonsoft.Json,版本為5.0.6,確認(rèn)項(xiàng)目引用也沒有問題如下圖。

clipboard

clipboard[1]

接著將項(xiàng)目上傳到GitHub上,上傳的時(shí)候會(huì)忽略NuGet生成的packages目錄。

然后,從GitHub克隆項(xiàng)目到本地,在編譯項(xiàng)目,還沒有還原NuGet引用時(shí),Newtonsoft.Json引用的是系統(tǒng)的,如下圖。

clipboard[2]

然后,重新編譯項(xiàng)目,還原NuGet引用,同時(shí)也生成了packages目錄。但是Newtonsoft.Json顯示還是引用的系統(tǒng)的4.5.0版本,但是查看生成的bin目錄,的確是NuGet引用的5.0.6版本。

clipboard[3]

所以,問題來了,為什么沒有引用NuGet的packages目錄中的,卻還是引用系統(tǒng)的呢?

分析思路

首先,查看MSBuild的生成輸出,發(fā)現(xiàn)copy的路徑?jīng)]有問題,如下圖。

clipboard[4]

然后,能想到的是使用程序集重定向,強(qiáng)制它使用5.0.6版本,所以在web.config中加入下面的代碼。

clipboard[5]

重新生成項(xiàng)目, 發(fā)現(xiàn)項(xiàng)目引用的依舊是系統(tǒng)的,如下圖。

clipboard[6]

到這里,能想到的方法基本都想了,但為什么項(xiàng)目還是顯示引用系統(tǒng)的dll呢。

然后就問同事,同事過來就刷新了一下項(xiàng)目,居然就ok了,顯示正確地引用了NuGet的packages目錄。

原來只是沒有刷新,項(xiàng)目上顯示引用舊的而已,哎,真是個(gè)大烏龍啊!

所以在這里總結(jié)出來,以免以后還犯這樣的低級錯(cuò)誤。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 盐池县| 临夏市| 石河子市| 济阳县| 灯塔市| 介休市| 蒙山县| 永善县| 廊坊市| 阿克苏市| 沁源县| 安新县| 馆陶县| 芜湖市| 土默特左旗| 游戏| 象州县| 宁晋县| 潜山县| 广南县| 壶关县| 凯里市| 准格尔旗| 三江| 池州市| 宁都县| 进贤县| 茌平县| 宝鸡市| 贞丰县| 文昌市| 孝义市| 普定县| 资溪县| 天水市| 桃园县| 杭锦后旗| 星子县| 霸州市| 吴旗县| 隆林|