
- .NET Core 教程
- .NET Core - 首頁
- .NET Core - 概述
- .NET Core - 先決條件
- .NET Core - 環境設定
- .NET Core - 開始
- .NET Core - 數值
- .NET Core - 垃圾回收
- .NET Core - 程式碼執行
- .NET Core - 模組化
- .NET Core - 專案檔案
- .NET Core - 包引用
- 使用 .NET Core 建立 UWP 應用
- .NET Core - MSBuild
- .NET Core - 元包
- Windows 執行時和擴充套件 SDK
- 建立 .NET Standard 庫
- .NET Core - 可移植類庫
- 向庫新增引用
- 共享 .NET Core 庫
- 建立 Xamarin.Forms 專案
- .NET Core - PCL 疑難解答
- .NET Core - 建立測試專案
- 在 Visual Studio 中執行測試
- .NET Core - 測試庫
- 託管可擴充套件性框架
- .NET Core - SDK
- .NET Core - MSBuild 和 project.json
- 還原和構建以及 MSBuild
- .NET Core - 遷移
- .NET Core 有用資源
- .NET Core - 快速指南
- .NET Core - 有用資源
- .NET Core - 討論
.NET Core - 共享庫
本章將討論如何將您的庫共享為NuGet 包,以便可以在另一個專案中使用它。建立包始於您想要打包並與他人共享的程式碼,可以透過公共 nuget.org 庫或組織內的私有庫共享。該包還可以包含其他檔案,例如安裝包時顯示的自述檔案,並且可以包含對某些專案檔案的轉換。
現在讓我們考慮一個簡單的示例,在這個示例中,我們將從我們的庫建立 NuGet 包。為此,請開啟命令提示符並轉到庫專案 project.json 檔案所在的資料夾。

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

最後,您可以看到不同的命令,例如 new、restore 和 build 等。
最後一個命令是pack;這將建立一個 NuGet 包。現在讓我們執行以下命令。
dotnet pack

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

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

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

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

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

在這個 NuGet 包中,您將看到原始檔和*.pdb 檔案。如果雙擊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”命令。

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

您將看到更新後的元資料。現在的問題是,我們如何在另一個包中使用它。
我們需要首先將其釋出到 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 並單擊安裝。

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

步驟 4 - 安裝完成後,讓我們再次開啟命令提示符並轉到 NuGet 包所在的bin\Debug 資料夾,並指定以下命令:
nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages
步驟 5 - 在上面的命令中,我們將 StringLibrary.1.0.1.nupkg 包新增到我們的私有源,位置為D:\PrivateNugetPackages,-Source 指定包源。
步驟 6 - 您可以看到已安裝StringLibrary;StringLibrary 可以進一步新增到私有源。

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

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

NuGet 包位於此處。