国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 繁昌县| 清涧县| 建德市| 济阳县| 松原市| 台江县| 南宁市| 金湖县| 佛冈县| 元朗区| 高要市| 屏山县| 岚皋县| 洛川县| 万州区| 桂平市| 临沭县| 泰来县| 团风县| 蓝山县| 汶上县| 隆林| 高密市| 手机| 新乡市| 青冈县| 江山市| 洛宁县| 都江堰市| 汽车| 泾阳县| 石棉县| 饶平县| 宜黄县| 凤城市| 镶黄旗| 陇川县| 阿荣旗| 沾化县| 郁南县| 芦山县|