.NET核心 - 共享库

在本章中,我们将讨论如何将您的库共享为 NuGet包,以便它可以在另一个项目中使用.创建包从您要打包的代码开始,并通过公共nuget.org库或组织内的私人图库与他人共享.该软件包还可以包含其他文件,例如安装软件包时显示的自述文件,并且可以包含对某些项目文件的转换.

现在就让我们考虑一个简单的例子,我们将从库中创建一个NuGet包.为此,请打开命令提示符并转到库项目的project.json文件所在的文件夹.

示例

现在让我们运行以下命令.

 dotnet help


Command

最后,您可以看到不同的命令,如new,restore和build等.

最后一个命令是 pack; 这将创建一个NuGet包.现在让我们执行以下命令.

 dotnet pack


执行

您现在可以看到NuGet包是在bin文件夹;让我们打开bin \Debug文件夹.

Debug Folder

现在的问题是NuGet包中的内容,看看我们可以使用NuGet Package Explorer.现在让我们打开NuGet Package Explorer.

Open NuGet

选择第一个选项打开本地包.

First Option

选择 StringLibrary.1.0.0.nupkg 并单击打开.

单击确定

您可以看到在包内容部分中我们只有StringLibrary.dll.在Package metadata部分中,您将看到有关此库的一些信息,如Id,Versions和所有依赖项.

现在让我们打开 StringLibrary.1.0. 0.symbols.nupkg .

符号

In在这个NuGet包中,您将看到源文件和 * .pdb 文件.如果双击 StringLib.cs 文件,也会看到源代码.

StringLib.cs

这里的问题是,如何配置元数据,如版本,作者和描述等.

项目.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 feed中的某个地方发布,然后我们可以在另一个项目中使用它.

发布更新的元数据有两种选择 :

  • 将其发布到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 然后设置环境变量.

手动安装

第4步 : 安装完成后,让我们再次打开命令提示符,转到NuGet包所在的 bin\Debug 文件夹,并指定以下命令 :

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

第5步 : 在上面的命令中,我们将StringLibrary.1.0.1.nupkg包添加到我们的私有feed,位置是 D:\ PrivateNugetPackages ,-Source指定包源.

第6步 : 您可以看到 StringLibrary 已安装; StringLibrary 可以进一步添加到私人Feed中.

Private Feed

第7步 : 我们去那个文件夹.

Folder

Step 8 : 在 stringlibrary 文件夹中,您将看到另一个带有版本名称的文件夹,此处为1.0.1.

版本名称

NuGet包位于此处.