.NET Core - 共享庫



本章將討論如何將您的庫共享為NuGet 包,以便可以在另一個專案中使用它。建立包始於您想要打包並與他人共享的程式碼,可以透過公共 nuget.org 庫或組織內的私有庫共享。該包還可以包含其他檔案,例如安裝包時顯示的自述檔案,並且可以包含對某些專案檔案的轉換。

現在讓我們考慮一個簡單的示例,在這個示例中,我們將從我們的庫建立 NuGet 包。為此,請開啟命令提示符並轉到庫專案 project.json 檔案所在的資料夾。

Example

現在讓我們執行以下命令。

dotnet help 

Command

最後,您可以看到不同的命令,例如 new、restore 和 build 等。

最後一個命令是pack;這將建立一個 NuGet 包。現在讓我們執行以下命令。

dotnet pack

Execute

現在您可以看到 NuGet 包已生成在 bin 資料夾中;讓我們開啟 bin\Debug 資料夾。

Debug Folder

現在問題是 NuGet 包中有什麼內容,要檢視它,我們可以使用 NuGet Package Explorer。現在讓我們開啟 NuGet Package Explorer。

Open NuGet

選擇第一個選項開啟本地包

First Option

選擇StringLibrary.1.0.0.nupkg 並單擊開啟

Click Ok

您可以看到,在“包內容”部分中,我們只有 StringLibrary.dll。在“包元資料”部分,您將看到一些關於此庫的資訊,例如 Id、版本和所有依賴項。

現在讓我們開啟StringLibrary.1.0.0.symbols.nupkg

Symbols

在這個 NuGet 包中,您將看到原始檔和*.pdb 檔案。如果雙擊StringLib.cs 檔案,您還可以看到原始碼。

StringLib.cs

這裡的問題是,如何配置元資料,例如版本、作者和描述等。

project.json 檔案用於在 .NET Core 專案中定義專案元資料、編譯資訊和依賴項。現在讓我們開啟 project.json 檔案並新增以下附加資訊。

{ 
   "authors": [ "Mark Junior" ], 
   "description": "String Library API", 
   "version" : "1.0.1-*", 
   "supports": {}, 
   
   "dependencies": { 
      "Microsoft.EntityFrameworkCore": "1.1.0", 
      "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
      "NETStandard.Library": "1.6.0", 
      "System.Runtime.Serialization.Json": "4.0.3", 
      "System.Runtime.Serialization.Primitives": "4.3.0" 
   }, 
   "frameworks": { 
      "netstandard1.3": {} 
   } 
}

現在您可以看到這裡添加了作者姓名、描述和版本等附加資訊。讓我們儲存此檔案,構建庫專案,然後再次執行“dotnet pack”命令。

.Net Pack

在 bin\Debug 資料夾中,您可以看到 StringLibrary NuGet 包已生成,版本為 1.0.1;讓我們在 NuGet Package Explorer 中開啟它。

Version

您將看到更新後的元資料。現在的問題是,我們如何在另一個包中使用它。

我們需要首先將其釋出到 NuGet 源,然後我們可以在另一個專案中使用它。

有兩個選項可以釋出更新後的元資料:

  • 將其釋出到 nuget.org
  • 將元資料推送到私有 NuGet 源

在這裡,我們將使用私有 NuGet 源,因為它比在 nuget.org 上設定帳戶容易得多。要了解如何將您的包釋出到 nuget.org,您可以按照此處指定的全部指南操作 https://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package

請按照以下步驟將更新後的元資料推送到私有 NuGet 源。

步驟 1 - 首先,我們需要 nuget 命令列實用程式,並且必須安裝它。現在讓我們開啟 NuGet 包管理器並搜尋 nuget.commandline。

步驟 2 - 選擇 Nuget.Commandline 並單擊安裝

Commandline

步驟 3 - 單擊確定以安裝 Nuget.Commandline。您也可以透過從以下網址 https://dist.nuget.org/index.html 手動下載它,然後設定環境變數來手動安裝它。

Manual Install

步驟 4 - 安裝完成後,讓我們再次開啟命令提示符並轉到 NuGet 包所在的bin\Debug 資料夾,並指定以下命令:

nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages 

步驟 5 - 在上面的命令中,我們將 StringLibrary.1.0.1.nupkg 包新增到我們的私有源,位置為D:\PrivateNugetPackages,-Source 指定包源。

步驟 6 - 您可以看到已安裝StringLibraryStringLibrary 可以進一步新增到私有源。

Private Feed

步驟 7 - 讓我們轉到該資料夾。

Folder

步驟 8 - 在stringlibrary 資料夾內,您將看到另一個帶有版本名稱的資料夾,這裡是 1.0.1。

Version Name

NuGet 包位於此處。

廣告