前言
NuGet就是一個包(package)管理平臺,確切的說是 .net平臺的包管理工具,它提供了一系列客戶端用于生成,上傳和使用包(package),以及一個用于存盤所有包的中心庫,
對于一個現代化的開發平臺,建立一種讓開發者創建,分享與使用可復用代碼的機制是十分必要的,這種“可復用代碼”被打包后的檔案通常被稱作“包”(package),
對于.NET(包括 .NET Core)平臺來說這個機制的實作就是NuGet平臺,
NuGet的實作均為開源專案,包括了客戶端工具,服務器,官方網站以及各語言的檔案等,
NuGet包的本質是一個以nupkg為后綴的zip壓縮檔案(你可以將后綴改為.zip后解壓查看里面的內容),其中包含了編譯后的Dll檔案以及其他相關檔案,

圖1:顯示nuget包從創建,上傳到被使用的流程
對于參考大家都會使用,但是對于創建NuGet參考就不怎么會了,我們下面就介紹怎么打包dll類別庫到NuGet平臺進行參考,
創建類別庫方法
我們首先創建一個可呼叫的類別庫,以“繁簡體相互轉換”為例,當然你也可以創建其他的,比如獲取組態檔、http請求幫助類等,
這里使用的環境是vs2019, .NET Core2.1,使用.NET也可以,這里可根據自己的使用環境創建,
注意:類別庫是什么環境,參考也需要什么環境,(.NET Core和.NET不能相互混用),
創建一個.NET Core類別庫專案,命名為“XiongZeUtils”(自定義命名),然后在類別庫專案下創建一個繁簡體專案轉換的類,命名為“xzUtils”(自定義),
注意,繁簡體相互轉換需要現在NuGet引入包ChineseConverter,然后在類里面參考using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter,如下:
創建完成后記得需要先編譯生成dll檔案
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; } } }
創建完成后記得需要先編譯生成dll檔案
NuGet發布到服務器
1、登錄NuGet賬號獲取API keys
官網地址:https://www.nuget.org/
如果你有Microsoft 帳戶,直接登錄即可,如果沒有則需去創建一個,
NuGet登錄快捷入口:https://www.nuget.org/users/account/LogOn
(注冊地址入口比較難找,下面快捷入口直接點擊即可注冊)
NuGet注冊賬號快捷入口:https://signup.live.com/?lic=1
備用方案:
NuGet.org 上的個人帳戶:https://docs.microsoft.com/en-us/nuget/nuget-org/individual-accounts
獲取您的 API 密鑰:https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli
獲取您的 API 密鑰
-
登錄您的 nuget.org 帳戶或創建一個帳戶(如果您還沒有),
有關創建帳戶的更多資訊,請參閱個人帳戶,
-
選擇您的用戶名(在右上角),然后選擇API Keys,
-
選擇Create,為您的密鑰提供一個名稱,選擇Select Scopes > Push,為Glob 模式輸入 * ,然后選擇Create,(有關范圍的更多資訊,請參見下文,)
-
創建密鑰后,選擇復制以在 CLI 中檢索您需要的訪問密鑰:

-
重要提示:將您的密鑰保存在安全位置,因為您以后無法再次復制該密鑰,如果回傳 API 密鑰頁面,則需要重新生成密鑰才能進行復制,如果您不想再通過 CLI 推送包,您也可以洗掉 API 密鑰,
范圍允許您為不同的目的創建單獨的 API 密鑰,每個密鑰都有其到期時間范圍,并且可以限定為特定的包(或 glob 模式),每個鍵也適用于特定操作:推送新包和更新、僅推送更新或下架,通過范圍界定,您可以為為您的組織管理包的不同人員創建 API 密鑰,以便他們僅擁有所需的權限,有關更多資訊,請參閱作用域 API 密鑰,



2、下載Nuget.exe并發布專案
點擊下載nuget.exe
https://www.nuget.org/downloads
我這里下載的是5.9.1版本的,版本這里沒有特別的要求,
這里只有6M多一點,下載太慢了,我把下載好的放在gitee上,大家直接點擊下載解壓即可,
下載地址1(git):https://gitee.com/xiongze/nugetexe-file.git
下載地址2(百度網盤):https://pan.baidu.com/s/1RIbJXzn3aoKWURB_VRjx3w 提取碼:xion

3、NuGet發布到服務器
將下載下來的nuget.exe與剛才新建的類別庫放在同一目錄下,

配置發布資訊,并將發布路徑指向或拷貝到與剛才新建的類別庫放在同一目錄下,


①、找到vs對應的開發人員命令提示(不能用cmd直接打開)

或者 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools

②命令提示定位到Nuget.exe所在的目錄
雙擊運行 Developer Command Prompt for VS 2019 cd到專案類別庫的目錄

③通過命令 nuget setapikey xxxxx-xxxx-xxx-xxxx-xxxx-xxxx (我們上面nuget copy的key), 設定API Key
通過命令 nuget setapikey xxxxx-xxxx-xxx-xxxx-xxxx-xxxx , 設定API Key;

④生成xxxx.nuspec檔案
nuspec是NuGet將專案打包成nupkg的輸入檔案,可以通過nuget spec命令產生,通過命令 nuget spec 生成xxxx.nuspec檔案;

⑤NuGet發布到服務器
通過命令 nuget.exe push xxxxx.nupkg -Source https://www.nuget.org ,將NuGet發布到服務器,

打包成功后,這里需要等待3-10分鐘左右,打包成功后nuget就能查詢到我們打包的參考了,如果沒有的多等待一下,
使用NuGet包
我們這個時候就可以在NuGet里面搜索到我們的類別庫了,我們引入進來使用一下,

在專案中引入我們的nuget包,然后呼叫得到下面內容

參考文獻
- [NET,C# ] Nuget包發布流程:https://www.52pojie.cn/thread-1434899-1-1.html
-
NuGet是什么:https://zhuanlan.zhihu.com/p/36207092
- nuget官網地址:https://www.nuget.org/
|
歡迎關注訂閱微信公眾號【熊澤有話說】,更多好玩易學知識等你來取 作者:熊澤-學習中的苦與樂 公眾號:熊澤有話說 出處: https://www.cnblogs.com/xiongze520/p/15234581.html 創作不易,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文鏈接,
|

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/298221.html
標籤:.NET Core
上一篇:RabbitMQ從零到集群高可用(.NetCore5.0) -高可用集群構建落地
下一篇:10分鐘學會Visual Studio將自己創建的類別庫打包到NuGet進行參考(net,net core,C#)
