【過程改進】10分鐘進階Nuget

目錄css

  nuget初識java

  nuget本地包windows

  nuget解決依賴衝突maven


nuget是什麼 工具

  .net版的maven(java)? 若是你用過windows的chocolatey,mac的homebrew或許更容易理解他,先來回顧下之前咱們是如何處理或者碰到過的問題。網站

1.假如我須要合併2個項目,這2個項目是不一樣的做者,項目中都使用到了log4net而且版本不一樣,那麼你須要作一系列的改動來保證配置文件的正常工做。spa

2.一樣在團隊合做中,隨便使用某個源代碼管理工具,通常每一個人在本地都有一個工程副本,對於第三方的(或者公用的)程序集(例如Common,Utility等)引用或許你們會指定一個相對的路徑。可是對於一次版本更新維護成本,或許也能接受。.net

3.項目依賴問題,若是組件A依賴組件B,組件B關聯組件C... 若是工程不是本身從頭開始掌控或者直接就是修改前任的代碼,某些組件莫名丟了或者其中的一個版本升級了....3d

4.在.net工程中添加js或者程序集有時候所須要的安裝工做可能不單單是copy一個js或者js,還須要關聯的js,css,jpg,config有的甚至要添加module和handler,在人爲的操做和確認過程當中不免會遇到一些磕磕絆絆。中間件

因此nuget誕生了

nuget能作什麼

  NuGet 是一種 Visual Studio 擴展,它可以簡化在 Visual Studio 項目中添加、更新和刪除庫(部署爲程序包)的操做。 NuGet 程序包是打包成一個文件的文件集,擴展名是 . nupkg,使用開放打包約定 (OPC) 格式。解決上述的問題,nuget對於版本的更新迭代,程序集的共享,管理都有着巨大的做用,若是你還在徒手添加程序庫,你,out了!

安裝,引用,卸載,更新

  最簡單的方法是從「Tools」(工具)|「Extension Manager」(vs2013中是Extensions and Updates)菜單選項啓動 Visual Studio Extension Manager。 單擊「Online Gallery」(聯機庫)選項卡查看可用的 Visual Studio 擴展名

  

  須要引用庫的時候,只要篩選出庫的名稱而後點安裝,會提示你選擇須要安裝的項目

  

  卸載一樣簡單,在已安裝中選中須要卸載的庫點擊管理,去掉已安裝項目的勾選即成。

  

  若是要更新到最新版本,在擴展包管理器窗口中有須要更新的一覽列表

  

  若是要更新到指定版本,須要多一些其餘的操做,首先找到nuget的官方網站http://www.nuget.org/,篩選出要安裝的庫

  

  這裏咱們選擇log4net

  

  歷史版本變全在這裏了。

  回到Visual Studio從tools中打開包管理器

  

  鍵入指定的版本號,注意要安裝的默認項目

  

  至此,對nuget應該已經有了初步的瞭解


 

  下面咱們來看下如何管理本地的包

  首先從tools|Options中選中包管理,除了第一個官方源之外下面都是能夠自定義的。若是是團隊項目還能夠指向一個共享目錄。

  

  那麼如何製做咱們本地的包呢,首先你要準備nuget package explorer

  

  拖入你要管理或者共享的庫

  

  保存成.nupkg便可。另外引用nuget管理的工程在根目錄下都會存在一份配置文件packages.config,裏面能夠看出所引用的包的信息以及版本。

  


  還有一種特殊的狀況就是假如你作開源項目的擴展,例如umbraco,它們有時候會引用一些更改過的無簽名或者公鑰的組件。這個時候若是你從官方源中引用對應的組件會致使衝突。

  

  這裏使用ildasm來查看下區別

  

  

  對於這種狀況,解決辦法之一就是創建一個適配器同樣的中間件,也就是用本地包包含一個對應的無公鑰的庫。

  

  最近會更新一些過程改進的內容,但願對你們有幫助。

相關文章
相關標籤/搜索