10分鐘學會VS NuGet包私有化部署
前言
我們之前實現瞭打包發佈NuGet,但是發佈後的引用是公有的,誰都可以訪問,顯然這種方式是不可取的。
命令版本:10分鐘學會Visual Studio將自己創建的類庫打包到NuGet進行引用(net,net core,C#)
web版本(推薦):小白2分鐘學會Visual Studio將引用包打包到NuGet上
其實官方也提供瞭私有化部署(NuGet.Server、ProGet、MyGe等),我們就來基於BaGet進行搭建一個私有NuGet環境。
什麼是BaGet
BaGet 是GitHub上開源的一個項目,是一個輕量級NuGet和符號服務器,是NuGet V3 服務器的開源實現。
搭建私有化BaGet服務器
我們以自己的本地環境充當服務器環境為例
進入BaGet下載地址下載release包,下面是我下載的版本,你也可以選擇其他版本:
https://github.com/loic-sharma/BaGet/releases/download/v0.3.0-preview4/BaGet.zip
如下講解怎麼選擇版本下載,點擊進入BaGet下載地址,點擊Releases選擇版本,進入後點擊BaGet.zip進行下載。
BaGet下載地址:https://github.com/loic-sharma/BaGet
將下載後的BaGet.zip文件解壓,修改appsetting.json 配置文件,不需要修改什麼,隻需要修改自己的api keys和服務器地址即可。由於這裡是測試,api keys就不填瞭,不影響操作。。
裡面的具體配置操作可參考官方文檔,
註意啟動服務的前提是要安裝.NetCore SDK,由於安裝瞭.NET Core,所以自帶的有,如果沒有的需要安裝sdk。
在BaGet.zip文件解壓目錄(BaGet文件目錄)下打開命令行,執行:dotnet BaGet.dll
執行:dotnet BaGet.dll
打開瀏覽器,運行http://localhost:5000 即可看到nuget 服務已啟動。
上傳程序包到私有化服務器
創建一個類庫用於測試,我們還是以之前的“繁簡體相互換換”為例。
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter; using System; namespace XiongZeUtils { public static class xzUtils { /// <summary> /// 簡體轉換為繁體 /// </summary> /// <param name="str">簡體字</param> /// <returns>繁體字</returns> public static string GetTraditional(string str) { string r = string.Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional); return r; } /// <summary> /// 繁體轉換為簡體 /// </summary> /// <param name="str">繁體字</param> /// <returns>簡體字</returns> public static string GetSimplified(string str) { string r = string.Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified); return r; } } }
右鍵項目,選擇打包:
打包完成會得到一個nupkg文件,版本在右鍵-》屬性-》打包裡面進行配置:
在剛剛的瀏覽器看一下看一下Upload命令:
在上面打包目錄下打開命令行執行:
dotnet nuget push -s http://localhost:5000/v3/index.json XiongZeUtils.1.0.3.nupkg
註意,這裡是打包路徑,也就是生成XiongZeUtils.1.0.3.nupkg文件的目錄,和上面解壓目錄執行dotnet BaGet.dll的是兩個地方,不要混淆。
推送包成功後,我們再去http://localhost:5000/的Packages查看一下,私有化打包發佈成功。
使用私有化程序包
在vs2019中打開:工具-選項-NuGet包管理器-程序包源。添加一個源,輸入名稱,源:http://localhost:5000/v3/index.json(自己的服務器地址)
在NuGet裡面就能查詢到私有服務器上的程序包瞭
到此這篇關於10分鐘學會VS NuGet包私有化部署的文章就介紹到這瞭,更多相關VS NuGet包私有化部署內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- VS Nuget的使用實踐
- 基於NET Core 的Nuget包制作、發佈和運用流程解析(完整過程)
- c# 使用Json.NET實現json序列化
- C#從前面或後面按指定數量刪除字符串
- C#調用百度翻譯實現翻譯HALCON的示例