开发学院

您的位置:首页>教程>正文

教程正文

.NET Core 共享库

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

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

example.jpg

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

dotnet help

command.jpg

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

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

dotnet pack

execute.jpg

  现在可以看到NuGet包是在bin文件夹中生成的;让我们打开bin\Debug文件夹。

debug_folder.jpg

  现在的问题是NuGet包里面有什么,看看我们可以使用NuGet包资源管理器。现在让我们打开NuGet包浏览器。

open_nuget.jpg

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

first_option.jpg

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

click_ok.jpg

  你可以看到,在包裹内容部分,我们只有StringLibrary.dll。在“包元数据”部分,您将会看到关于这个库的一些信息,如Id、版本和所有依赖项。

  现在让我们打开StringLibrary.1.0.0.symbols.nupkg。

symbols.jpg

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

stinglib_cs.jpg

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

  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”命令。

dotnet_pack

  在bin\Debug文件夹中,您可以看到StringLibrary NuGet包是用1.0.1版;让我们在NuGet包浏览器中打开它。

version.jpg

  您将看到更新的元数据。现在的问题是,我们如何在另一个包中使用它。

  我们需要从NuGet摘要中的某处发布开始,然后我们可以在另一个项目中使用它。

  发布更新的元数据有两个选项

  发布给nuget.org

  将元数据推送到专用NuGet摘要

  在这里,我们将使用专用NuGet摘要,因为它比在NuGet建立账户容易得多。要了解如何将包发布到nuget.org,您可以遵循此处指定的所有准则。

  按照以下步骤将更新的元数据推送到专用NuGet摘要。

  步骤1 -首先,我们需要nuget命令行实用程序,我们必须安装它。现在让我们打开NuGet包管理器并搜索nuget命令行

  步骤2 -选择Nuget。命令行并单击安装。

commandline.jpg

  步骤3 -单击“确定”安装Nuget.Commandline。您也可以通过从https://dist.nuget.org/index.html下载来手动安装它,然后设置环境变量。

manual_install.jpg

  步骤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.jpg

  步骤7 -让我们转到那个文件夹。

folder.jpg

  步骤8 -在stringlibrary文件夹中,您会看到另一个具有版本名称的文件夹,这里是1.0.1。

version_name.jpg

  NuGet包位于此处。