一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET MVC學習之NuGet在VS中的運用淺談

ASP.NET MVC學習之NuGet在VS中的運用淺談

2020-05-21 14:55Alan_beijing ASP.NET教程

這篇文章主要給大家介紹了關于ASP.NET MVC學習之NuGet在VS中運用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧。

為什么要使用NuGet

簡單的說NuGet可以是我們的工作更方便,當我們的項目里要引用到的一些庫時候,比如JQuery、Newtonsoft.Json、log4net等,我們需要從網上下載這些庫,然后依次拷貝到各個項目中,當有的類庫有更新時又不得不再重復一遍很是繁瑣 ,這時就可以考慮使用NuGet來幫我們管理和更新這些類庫,而且更新類庫時會自動添加類庫的相關引用,方便至極。當然網上一些我們常用的類庫更新頻率不是很高而且即便出了新版本我們也沒必要總是保持最新,故這點對我們的幫助比較有限,個人認為NuGet最大的好處在于可以搭建自己的類庫服務器,想想一下吧,在一些較大些的公司里面有很多的項目,然后其中有一些是整個組,甚至整個公司通用的類庫,當這些類庫有更新后我們需要依次拷貝到我們的項目,甚至于有時候我們自己都搞不清楚各個項目里的版本是否一致,有時偶爾一兩個項目忘了復制更新出現莫名其妙的錯誤,為此頭疼不已,現在有了NuGet,世界從此而不同。

一 概述

在我們講解NuGet前,我們先來看看一個例子。

1.例子:

假設現在開發一套系統,其中前端框架我們選擇Bootstrap,由于選擇Bootstrap作為前端框架,因此,在項目中,我們需要引入Bootstrap相關文件,大致會執行如下操作。

步驟一:下載Bootstrap文件

輸入Bootstrap官網域名 http://v3.bootcss.com/

輸入域名,進入官網

ASP.NET MVC學習之NuGet在VS中的運用淺談

步驟二:選擇合適的版本,下載Bootstrap包

ASP.NET MVC學習之NuGet在VS中的運用淺談

步驟三:將包引入到項目中

ASP.NET MVC學習之NuGet在VS中的運用淺談

關于將Bootstrap包引入到Project中,過程似乎比較麻煩,更可怕的的是,當在項目中的Bootstrap包需要更新時,需要做重復的工作,這是非常繁瑣的,很好的是,VS自帶的NuGet包管理器很好地

幫助我們解決了此類問題。

2.何為Nuget包管理器?

對于.NET和VS而言,NuGet是一個.NET包管理系統,它可以很容易地響應運用程序中添加、更新和刪除外部庫文件及其依賴。

除此之外,我們可以通過創建包,發布包實現包之間的共享,使共享得以實現。

站在微軟的角度:要盡可能地嘗試,不要指望Microsoft為我們提供所需要的每一段代碼,在.NET平臺上進行開發的開發人員多大數百萬甚至上千萬,而每一個開發人員都有其獨特的技術和有待解決

的問題,等待Microsoft去解決每個開發人員的每個問題,既形不成規模,也沒有意義。值得慶幸的是,他們可以通過網上發布的一些庫萊解決他們或他們客戶遇到的問題。然而,面對網上的這些有

用的庫我們面臨三大挑戰:發現,安裝和維護。但慶幸的是,NuGet卻很好地解決了此類問題。

二 將包添加到庫

將包添加到庫,有許多方式,常用方式為Manage NuGet Package 和 Package Manager Console,下面將結合VS2017和基于ASP.NET MVC模板講解該兩種方式。

(一)Manage NuGet Packages

1.準備好VS2017開發環境,并用VS的MVC模板創建一個默認項目:NuGetDemo

ASP.NET MVC學習之NuGet在VS中的運用淺談

分析:

細心的你會發現,在上圖中出項了packages.config文件,其實,它就是NuGet包的配置文件,因為我們在選擇基于MVC模板創建項目時,默認的引入了第三方庫文件,如Bootstrap,Jquery等;

ASP.NET MVC學習之NuGet在VS中的運用淺談

2.打開NuGet包管理器

引用=>管理Nuget程序包

ASP.NET MVC學習之NuGet在VS中的運用淺談

3.打開NuGet包管理器后,我們可執行如下操作

(1)瀏覽包 (2)查看當前系統已安裝包 (3)更新包 (4)在搜索框中搜索包

ASP.NET MVC學習之NuGet在VS中的運用淺談

4.查看包的詳細信息

我們以log4net為例

ASP.NET MVC學習之NuGet在VS中的運用淺談

分析:

包的基本信息

ASP.NET MVC學習之NuGet在VS中的運用淺談

5.安裝

在安裝AnyLog.Log4Net之前,先選擇好安裝版本,然后再安裝。

ASP.NET MVC學習之NuGet在VS中的運用淺談

6.查看安裝情況

(1)查看控制臺輸出安裝信息情況

ASP.NET MVC學習之NuGet在VS中的運用淺談

(2)查看NuGet包已安裝情況

ASP.NET MVC學習之NuGet在VS中的運用淺談

(3)查看項目引用情況

ASP.NET MVC學習之NuGet在VS中的運用淺談

(4)查看packages.config文件

ASP.NET MVC學習之NuGet在VS中的運用淺談

7.更新包

NuGet包管理器不僅能幫助我們安裝包,而且還能幫助我們維護包,我們可以借助NuGet包管理器來更新包。

注意:當我們更新包時,這個操作也會更新該包的所以依賴,以確保只安裝依賴的兼容保本。

在以下例子中,我們在項目NuGet中安裝了Log4net 2.0.3版本,現在,我們將其更新都最新版本2.0.8,選擇“更新”。

ASP.NET MVC學習之NuGet在VS中的運用淺談

點擊確認。

注意,此步會更新運用程序中與Log4net相關所有內容。

ASP.NET MVC學習之NuGet在VS中的運用淺談

查看更新結果

ASP.NET MVC學習之NuGet在VS中的運用淺談

8.包恢復

NuGet默認的工作流程是把包文件夾提交到版本控制,這樣做的一個好處是可從版本控制檢索解決方案,以確保構建解決方案的每個包都能夠安裝,而且這些包還不需要從其他位置檢索。

但是,這樣做也是有弊端的,Packages文件夾不是VS解決方案的一部分,因此,通過VS集成管理版本控制的開發人員需要進行一個額外的步驟以確保Packages文件夾能夠提交。

(1)TFS可以自動提交Packages文件夾

(2)分布式版本控制系統(如Git),不建議把Packages文件夾提交到版本控制,因為分布式版本控制系統不擅長處理二進制文件,如果項目中大量的包都有變化,分布式版本控制系統庫就會

變得很龐大。

可喜的是,NuGet 1.6引入的包修復功能來處理這些問題,這樣就支持一個新的個工作流程,我們就不需要把Packages文件夾提交到源代碼控制了。

這個過程需要手動執行幾個步驟:對每個項目都需要執行單獨的一步操作,以啟用包恢復(在NuGet2.0~2.6中,每個開發人員還需要配置VS來允許包恢復)

注意:

現在NuGet包恢復時自動啟用的,但是在VS的Package Manager設置中使用下面兩個選項,可以禁用包恢復功能:

a.允許NuGet下載缺少包;

b.在VS中構建運用程序時,自動檢查缺少的包;

通過NuGet 2.7 自動包恢復功能。

(二)Package Manager Console

Package Manager Console是Visual Studio 中基于PowerShell的控制臺,不僅提供了強大的功能來查找和安裝包,而且還支持Manager NuGet Packages對話框不支持的一些功能。

1.啟動控制臺

工具=>NuGet包管理器=>程序包管理器控制臺

ASP.NET MVC學習之NuGet在VS中的運用淺談

2.查看當前項目已安裝的包

在控制臺中輸入Get--Package,可以查看當前項目已安裝的包

ASP.NET MVC學習之NuGet在VS中的運用淺談

拓展:

(1)以前版本,可以通過以下命令來過濾包

?
1
Get-Package -ListAvailable -Filter Route

ASP.NET MVC學習之NuGet在VS中的運用淺談

(2)可以采用如下命令代替Get-Package -ListAvailable -Filter 命令

?
1
Find-Package [-Id]

ASP.NET MVC學習之NuGet在VS中的運用淺談

3.安裝包

在控制臺中通過:Install-Package 包名

下圖中,我們在項目中安裝Log4net,因此輸入Install-Package Log4net,由于我已在項目中安裝了Log4net,因此提示已經安裝。

ASP.NET MVC學習之NuGet在VS中的運用淺談

拓展:

(1)PowerShell命令的支持擴展功能,相當于智能感應。輸入命令部分字符,按Tab鍵就可以查看輸入的內容,從而實現智能感應。

ASP.NET MVC學習之NuGet在VS中的運用淺談

(2)PowerShell支持復合命令,比如通過將一個命令管道傳輸到另一個命令。

如下命令向解決方案中每一個項目安裝一個包。

?
1
Get-Project -ALL | Install-Package log4net

ASP.NET MVC學習之NuGet在VS中的運用淺談

(3)PowerShell也支持動態添加新命令

PowerShell強大之處在于,安裝的一些包可以為shell添加新命令。

ASP.NET MVC學習之NuGet在VS中的運用淺談

(三)其他方式啟動NuGet

如在項目名稱中添加,這里不論述,核心內容還是在如上的(一)和(二)部分。

ASP.NET MVC學習之NuGet在VS中的運用淺談

4.關于包源和項目的選擇

通過選擇程序包源右邊的齒輪,即可查看該包及對包的基本操作

ASP.NET MVC學習之NuGet在VS中的運用淺談

5.NuGet包管理器概述

(1)NuGe包管理器基本界面

在控制臺操作中,由兩大部分組成:常規和程序包源

ASP.NET MVC學習之NuGet在VS中的運用淺談

(2)程序包源概述

ASP.NET MVC學習之NuGet在VS中的運用淺談

拓展:

在Manage NuGet Packages 操作包方式中,與如上對應的操作

ASP.NET MVC學習之NuGet在VS中的運用淺談

例子講解:

下面我們講解基于如上兩種模式添加autofac包的操作過程

Manage NuGet Packages 方式

ASP.NET MVC學習之NuGet在VS中的運用淺談

控制臺操作方式

(1)找到autofac包的NuGet地址

ASP.NET MVC學習之NuGet在VS中的運用淺談

(2)添加autofac包

ASP.NET MVC學習之NuGet在VS中的運用淺談

三 創建包

篇幅有限,以后專門寫一篇文章概述......

四 發布包

篇幅有限,以后專門寫一篇文章概述......

五 參考文獻

【01】ASP.NET MVC5 高級編程(Jon Galloway,Brad Wilson,K.Scott Allen,David Matson ,孫遠帥 譯)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://www.cnblogs.com/wangjiming/p/8177821.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 极品美女写真菠萝蜜视频 | 波多野结衣在线中文字幕 | 日本韩国一区二区三区 | 男人猛戳女人下部30分钟 | 国产精品污双胞胎在线观看 | 维修工的调教 | 2019中文字幕在线视频 | 我把寡妇日出水好爽 | 久久国产精品高清一区二区三区 | 久久国产热视频99rev6 | 久久嫩草影院网站 | 99视频九九精品视频在线观看 | 色哟哟国产成人精品 | 共妻高h | 好大好硬快点好爽公 | 好吊操这里有精品 | 亚洲欧美优优色在线影院 | 师尊被各种play打屁股 | 婷婷色伊人 | 国产午夜精品久久理论片小说 | a级精品九九九大片免费看 a级动漫 | 日本在线一区二区 | 午夜dj影院在线视频观看完整 | 欧美福利二区 | 四虎永久成人免费 | 日本一片免费观看高清完整 | 久久精品成人免费看 | 国产青草亚洲香蕉精品久久 | 好 舒服 好 粗 好硬免费视频 | 亚洲波霸| 国产小嫩模好紧 | 美女口述又粗又大感觉 | 欧美精品色精品一区二区三区 | 全彩调教侵犯h本子全彩妖气he | 国产亚洲小视频 | 亚洲一二三区久久五月天婷婷 | 97国产精品久久碰碰牛牛 | 欧美贵妇vs高跟办公室 | 亚洲狼人香蕉香蕉在线28 | a一级毛片录像带 录像片 | 天堂在线看 |