- .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 核心 - MSBuild
- .NET Core - 元包
- Windows 运行时和扩展 SDK
- 创建.NET标准库
- .NET Core - 可移植类库
- 添加对库的引用
- 共享 .NET Core 库
- 创建 Xamarin.Forms 项目
- .NET Core - PCL 故障排除
- .NET Core - 创建测试项目
- 在 Visual Studio 中运行测试
- .NET Core - 测试库
- 托管可扩展性框架
- .NET 核心 - 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
现在可以看到 bin 文件夹中生成了 NuGet 包;让我们打开 bin\Debug 文件夹。
现在的问题是NuGet包里面有什么,我们可以使用NuGet Package Explorer来查看。现在让我们打开 NuGet 包资源管理器。
选择第一个选项“打开本地包”。
选择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 Package Explorer 中打开它。
您将看到更新的元数据。现在的问题是,我们如何在另一个包中使用它。
我们需要首先在 NuGet feed 中的某个位置发布,然后我们可以在另一个项目中使用它。
有两个选项可以发布更新的元数据 -
- 将其发布到 nuget.org
- 将元数据推送到私有 NuGet 源
在这里,我们将使用私有 NuGet feed,因为它比在 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 并单击Install。
步骤 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 包位于此处。