1. 程式人生 > 其它 >10分鐘學會Visual Studio將自己建立的類庫打包到NuGet進行引用(net,net core,C#)

10分鐘學會Visual Studio將自己建立的類庫打包到NuGet進行引用(net,net core,C#)

引用網址:https://blog.csdn.net/qq_35267585/article/details/120159537

10分鐘學會Visual Studio將自己建立的類庫打包到NuGet進行引用(net,net core,C#)
前言


建立類庫方法
NuGet釋出到伺服器
1、登入NuGet賬號獲取API keys
2、下載Nuget.exe併發布專案
3、NuGet釋出到伺服器
使用NuGet包

參考文獻
前言
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 金鑰複製到剪貼簿

重要提示:將您的金鑰儲存在安全位置,因為您以後無法再次複製該金鑰。如果返回 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/
————————————————
版權宣告:本文為CSDN博主「熊澤-學習中的苦與樂」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_35267585/article/details/120159537