搭建nuget 伺服器
前言
搭建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伺服器上能找到,否則無法完成自動引用新增
除以上四項以外其他屬性根據實際情況修改即可,若自己用不修改也中,不過為了使用方便還是建議把類庫描述(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 包管理伺服器就算搭好了。在版本中切換自己相應的版本即可。
&n