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