.NET Core – 共享库
.NET Core – 共享库
在本章中,我们将讨论如何将您的库共享为NuGet 包,以便它可以在另一个项目中使用。创建包从要打包并与他人共享的代码开始,通过公共 nuget.org 库或组织内的私有库。包还可以包含附加文件,例如安装包时显示的自述文件,并且可以包含对某些项目文件的转换。
现在让我们考虑一个简单的示例,在该示例中,我们将从我们的库中创建一个 NuGet 包。为此,请打开命令提示符并转到库项目的 project.json 文件所在的文件夹。
现在让我们运行以下命令。
dotnet help
最后,您可以看到不同的命令,例如 new、restore 和 build 等。
最后一个命令是pack;这将创建一个 NuGet 包。现在让我们执行以下命令。
dotnet pack
您现在可以看到在 bin 文件夹中生成了 NuGet 包;让我们打开 bin\Debug 文件夹。
现在的问题是 NuGet 包里面有什么,看看我们可以使用 NuGet 包资源管理器。现在让我们打开 NuGet 包资源管理器。
选择第一个选项Open a local package。
选择StringLibrary.1.0.0.nupkg并单击Open。
您可以看到在包内容部分我们只有 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 包资源管理器中打开它。
您将看到更新后的元数据。现在的问题是,我们如何在另一个包中使用它。
我们需要先在 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。您也可以通过从以下 URL 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 包位于此处。