封裝 Razor 類別庫
- 3 分鐘
您通常需要執行的工作是封裝連結庫以供其他開發人員重複使用。 NuGet 封裝讓任何開發人員都能輕鬆取得並正確設定其應用程式的所有 .NET 參考。
在上一個單元中,您已建置模態對話框元件,並在您自己的應用程式中使用它。 現在您想要在其他應用程式中重複使用它。
在本單元中,您將瞭解將Razor類別庫設定為NuGet套件所需的步驟。 您也會瞭解如何使用套件存放庫服務封裝連結庫以進行散發,例如 NuGet.org 或 GitHub 存放庫。
配置供 NuGet 封裝使用的 Razor 類別庫
.NET 生態系統可讓您輕鬆地定義其他開發人員識別和使用元件所需的屬性。 您可以在 Razor 類別庫的項目檔 (*.csproj) 中定義所有這些屬性,讓它們與連結庫一起移動。 然後,當您的程式庫更新時,屬性會適當地更新。
您可以在 Visual Studio [項目屬性 - 封裝 ] 對話框中設定識別套件的欄位,也可以自行在 *.csproj 檔案中直接建立專案。
建立包裝所需的四個欄位如下:
| 領域 | 說明 | 預設值 |
|---|---|---|
| 包裹編號 | 套件標識碼,在整個 NuGet 存放庫中是唯一的。 | 程式庫的 AssemblyName |
| 版本 | Major.Minor.Patch[-Suffix]格式的特定版本號碼,其中 -Suffix 選擇性地定義發行前版本。 | 1.0.0 |
| 作者 | 套件的作者。 | AssemblyName |
| 公司 | 負責建立和發佈套件的公司名稱。 | AssemblyName |
其中有些欄位有預設值,而且發佈具有 MyFirstLibrary 公司名稱的套件可能很有趣。 強烈建議您明確定義這些值。
在上一個單元中,您已瞭解到Razor類別庫的靜態內容可在_content/[PACKAGE_ID]/取得,現在您會看到PackageId值的設定位置。
已設定這些值的範例項目檔看起來可能如下列範例所示:
<PropertyGroup>
<PackageId>Learn.MyFirstLibrary</PackageId>
<Version>0.1.0-alpha1</Version>
<Authors>Susan Developer, Terry Programmer</Authors>
<Company>AdventureWorks</Company>
</PropertyGroup>
建置專案時,您可以設定它以產生 NuGet 套件,方法是選取 [Visual Studio 專案屬性] 對話方塊中的 [在建置時產生 NuGet 套件] 選項,或新增一個條目於其他套件欄位旁,如下所示:
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
您可以設定許多選擇性項目屬性,包括:
Description,適合顯示在 NuGet 存放庫中- 著作權聲明
- 授權資訊
- 圖示
- 專案 URL
如需屬性的完整清單,請檢查 MSBuild 套件目標上的 Microsoft 文件。
封裝程式庫
將連結庫組態寫入 *.csproj 檔案之後,您可以在 Visual Studio 中產生 NuGet 套件,方法是以滑鼠右鍵按兩下項目並選取 Pack 命令,或在專案資料夾中執行下列命令:
dotnet pack
此命令 dotnet pack 會產生 PackageID 和版本號碼的套件,並將它放在標準專案建置輸出資料夾中。