包创建工作流

创建包以要打包和与他人共享的已编译代码(通常是 .NET 程序集)开头,通过公共 nuget.org 库或组织中的专用库进行共享。 该包还可以包含其他文件,例如安装包时显示的自述文件,并且可以包括对某些项目文件的转换。

包还可用于仅拉取任意数量的其他依赖项,而无需包含其自己的任何代码。 此类包是一种提供由多个独立包组成的 SDK 的便捷方法。 在其他情况下,包只能包含符号 (.pdb) 文件来帮助调试。

注释

创建供其他开发人员使用的包时,请务必了解它们正在依赖你的工作。 因此,创建和发布包也意味着承诺修复 bug 和进行其他更新,或者至少使包作为开放源代码提供,以便其他人可以帮助维护它。

无论哪种情况,创建包都首先决定其标识符、版本号、许可证、版权信息以及任何其他必要内容。 完成后,可以使用“pack”命令将一切放在一个 .nupkg 文件中。 此文件可以发布到 NuGet 源,例如 nuget.org。

小窍门

扩展名为 .nupkg NuGet 包只是 ZIP 文件。 若要轻松检查任何包的内容,请更改扩展, .zip 并像往常一样扩展其内容。 在尝试将文件上传到主机之前,请务必将文件的扩展名更改回 .nupkg

若要了解和了解创建过程,请先 创建包 ,以指导你完成所有包通用的核心过程。

从这里,您可以考虑您的包裹的许多其他选项:

  • 支持多个目标框架 介绍了如何为不同的 .NET Framework 创建具有多个变体的包。
  • 创建本地化包 介绍如何构建具有多种语言资源的包,以及如何使用单独的本地化附属包。
  • 预发行包 演示如何向感兴趣的客户发布 alpha、beta 和 rc 包。
  • 源和配置文件转换介绍了如何在添加到项目中的文件中执行单向令牌替换,以及如何修改web.configapp.config的设置,这些设置将在卸载包时被恢复。
  • 符号包 提供指导,帮助您为库提供符号,从而使使用者在调试时能够逐步执行代码。
  • 包版本管理 讨论如何明确允许您用于依赖项的确切版本(从您的包中使用的其他包)。
  • 原生包 描述了为 C++ 用户创建包的流程。
  • 签名包 描述向包添加数字签名的过程。

准备好时,请按照发布包中的简单步骤将包发布到 nuget.org。

如果要使用专用源而不是 nuget.org,请参阅“托管包概述