<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
最古老的時候我們想參照一個第三方類庫,方法就是先下載第三方的dll檔案,然後放置到我們的專案中,然後新增參照來參照這些dll,這種方法有各種的不便,比如參照dll的版本不一致,或者dll忘記放到專案目錄提交等等,使用過老版本VS的應該都深有體會,nuget就是為了解決類庫參照的痛楚而出現的。
Nuget是一個VS的擴充套件外掛。我們在使用VS開發時,Nuget能把在專案中新增、移除和更新參照的工作變得更加快捷方便。
我們可以通過VS選單上的「工具→擴充套件和更新」來檢視Nuget
在解決方案管理器中,我們可以通過「右鍵子專案→管理Nuget程式包」或「右鍵子專案下的參照→管理Nuget程式包」來對該子專案的參照進行管理
在開啟的「管理Nuget程式包」視窗中我們可以對該子專案參照的類庫進行管理
nuget中搜尋到的,一般都是該類庫最新版本的,在使用過程中,我們可能需要去下載類庫的歷史版本,開啟nuget官網:
輸入要安裝的類庫關鍵詞,比如我要安裝EF的6.0.2版本,直接搜尋EF即可
第一個即我們想要的,點選進入詳情
這裡我們能看到該類庫對其他類庫是否有依賴,以及類庫的各個歷史版本。安裝類庫的歷史版本就需要用到「程式包管理控制檯」了,可以從選單「工具→Nuget包管理器→程式包管理控制檯」開啟
偶爾有碰到程式包管理控制檯開啟失敗的情況,現象是開啟了這個視窗,但是裡邊是一片空白,後來查詢了下資料VS的Nuget包管理器是依賴於Windows作業系統的PowerShell的,從開始選單開啟一次PowerShell,然後在VS裡重新開啟程式包管理控制檯問題就解決了。
接下來比如我們要安裝EF的6.0.2版本,在nuget官網上從EF的歷史版本中找到6.0.2,點進去就可以看到安裝命令
確保你要安裝的子專案沒選錯,然後將命令貼上到這裡回車執行,沒有錯誤提示就說明安裝成功了。
Nuget安裝時會自動下載類庫相關dll,存放路徑為解決方案目錄下package資料夾,因為package檔案會比較大,實際開發中一般不會隨原始碼一塊提交到svn或者git,所以從svn或者git拉取原始碼以後,第一次生成時Nuget會自動還原專案中參照的類庫。偶有還原失敗的情況,可以手動還原重試,方法是:右鍵解決方案→啟用Nuget程式包還原
如果Nuget包還原失敗或者無法搜尋線上類庫,請檢查Nuget源是否可用,可以嘗試設定DNS為百度開放DNS:180.76.76.76,或者114.114.114.114,以及檢查自己電腦否使用了Http代理,瀏覽器翻(科)牆(學)外掛,VPN等,如果有代理可以關閉/停用了代理以後重試。
Nuget還原實際使用中還碰到了部分解決方案包還原失敗的情況,即還原成功以後,在「解決方案管理器」中展開子專案的「參照資料夾」有黃色歎號出現,此時可以在程式包管理控制檯中使用如下命令重新安裝改子專案的包:
Update-Package -reinstall -ProjectName 專案名稱
如,重新安裝Model專案的包:
Update-Package -reinstall -ProjectName BookShop.Model
命令:Update-Package -reinstall可以重新安裝解決方案下的所有包,但是這裡不建議使用,因為被坑過一次,重新安裝解決方案的所有包耗時非常長,也沒有執行的必要性。
在實際使用中,如果我們要搭建2個框架相似的專案,假設其中一個已經搭建好了,那麼另外一個專案就不需要用nuget管理器介面再重新把所有的參照再次搜尋新增一遍了,只需要把對應子專案下的packages.config檔案複製過來,執行nuget還原命令即可。
部分類庫的nuget包的安裝以後不會在專案參照目錄下自動新增對相應dll的參照,比如mysql相關的MySql.Data、MySql.Data.Entity,此時手動新增參照即可(右鍵解決方案→新增參照→程式集→擴充套件中找到新增即可)
在某些環境下我們可能需要離線安裝nuget包(比如開發用的電腦無法直接聯網)。
首先,我們需要去nuget官網下載好需要安裝的nuget包(即.nupkg字尾的檔案,需要注意的是離線安裝模式依賴項需要手動下載安裝)
其次,新增nuget離線源,通過選單「工具→Nuget包管理器→程式包管理器設定」開啟nuget包管理器設定。
點選右上角的新增按鈕,填寫自定義的源名稱和地址路徑,可以設定任意的資料夾,將下載好的.nupkg包檔案放入該資料夾即可。
然後我們在nuget包管理器中源選擇我們建立的離線源就可以看到我們剛才放進去的離線包了
接下來安裝即可,需要注意的是離線安裝可能會提示依賴問題,需要手動安裝依賴後才能安裝成功
到此這篇關於VS Nuget的使用實踐的文章就介紹到這了,更多相關VS Nuget使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45