- .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 Core - MSBuild
- .NET Core - 元包
- Windows 运行时和扩展 SDK
- 创建 .NET Standard 库
- .NET Core - 可移植类库
- 向库添加引用
- 共享 .NET Core 库
- 创建 Xamarin.Forms 项目
- .NET Core - PCL 疑难解答
- .NET Core - 创建测试项目
- 在 Visual Studio 中运行测试
- .NET Core - 测试库
- 托管可扩展性框架
- .NET Core - 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
现在您可以看到 NuGet 包已生成在 bin 文件夹中;让我们打开 bin\Debug 文件夹。
现在问题是 NuGet 包中有什么内容,要查看它,我们可以使用 NuGet Package Explorer。现在让我们打开 NuGet Package Explorer。
选择第一个选项打开本地包。
选择StringLibrary.1.0.0.nupkg 并单击打开。
您可以看到,在“包内容”部分中,我们只有 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 源,然后我们可以在另一个项目中使用它。
有两个选项可以发布更新后的元数据:
- 将其发布到 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。您也可以通过从以下网址 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 包位于此处。