搭建nuget 伺服器

  • 2019 年 10 月 3 日
  • 筆記

前言

  搭建nuget伺服器,這是上家公司進行類庫管理的方式,其實優點很明顯,

  1.程式碼保密

  2.程式碼重複利用效率高,這樣不管任何項目只要知道nuget伺服器地址就能直接調用

  3.可進行版本任意切換提高程式碼差異性管理

1.部署nuget 伺服器

  因為我們的項目使用的是net core ,所以自己直接也是建立的net core項目,但是發現nuget server 不管是nuget server 還是nuget server core 對於net core 2.2 都不支援,故此選用了net mvc進行搭建nuget 服務(ps:如有解決請留言給我)。

  1.1.建立一個空項目這個很好解決在這不做過多闡述,如圖:

  1.2.找到對應版本Nuget.Server

        

  我建的項目是基於.Net Framework 4.6.1 所以選擇了3.4.1 版本,根據自己項目的版本選擇對應的版本即可。選擇之後項目中會自動生成Packages文件夾,修改web.config中  <add key=”apiKey” value=”npspackages2019″ />q其中apikeyy用作上傳包的key

    1.3.運行項目

  

那麼nuget 服務就算搭好了,部署到iis即可。

2.nuget 打包

  在這裡我沒要用到的就是NuGet Package Explorer這個工具,下載即可。

  2.1打開NuGet Package Explorer出現啟動介面,選擇Create a new package(Ctrl+N)創建一個新包

  2.2、選擇菜單 Edit > Edit Package Metadata (或者 CTRL + K) 編輯包包資訊

  這裡可以編輯類庫包的資訊和添加類庫、程式集的引用解釋下幾個比較重要的欄位:

  Id:用於定位類庫包的唯一標示,

  Version:類庫的版本號,這裡建議和程式集的真實版本號保持一致,以免發生混淆

  Dependencies:此類庫依賴的程式集,根據實際情況添加依賴類庫的Id和版本號,若無留空即可,這裡需要注意下填寫的依賴類庫需要在NuGet伺服器上能找到,否則無法完成自動引用添加
  Framework assemblies:依賴的Framework 程式集,根據實際需要選擇即可,一般無需設置
  除以上四項以外其他屬性根據實際情況修改即可,若自己用不修改也中,不過為了使用方便還是建議把類庫描述(Description)填寫下

  2.3、添加dll

  右鍵–>Add Existinng File… 選擇dll添加,也可以直接拖拽DLL到 Package contents 窗口,此例選擇拖拽方式,直接拖拽dll到窗口後,會出現提示:是否將 Winista.HtmlParser.dll放到lib 文件夾下,一般我們選擇yes
  

資訊修改和dll都添加完畢後,選擇File –> Save(或Ctrl + S)將文件進行保存,默認文件名為Id + 版本號.nupkg 

 2.5、完成保存後如需要發布到網上,選擇File–> Publish…(或Ctrl + P)


如果想要發布到nuget官網,發布 Key需要到官網去註冊一個帳號獲取,方法一致。

3.使用

  使用的時候和咱們使用公共的nuget 包一致。

  3.1添加包源

  3.2選擇包源

  記得勾選【包含預發行版本】

這樣nuget 包管理伺服器就算搭好了。在版本中切換自己相應的版本即可。