搭建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 包管理伺服器就算搭好了。在版本中切換自己相應的版本即可。