API文档 - .NET/.NET Framework创建nuget包

众所周知,在.NET Core之前的.NET Framework版本的.csproj项目文件里面是没有 生成nuget包 选项的,因此需要我们自己来实现包的创建

Nuget CLI

这里我们需要一个叫 Nuget CLI 的工具来帮助我们将项目打包成nuget包

下载

这个工具推荐前往nuget.org官网下载 点击下载

配置环境变量

下载完成后,我们就得开始配置它自身的环境变量了:

  1. 将其放置在某一个文件夹下,比如我这边选择的是
D:\Nuget\nuget.exe
  1. 创建好后记住刚刚创建的文件夹路径并复制文件夹路径
  2. 依次点开 设置 > 系统 > 高级系统设置 > 环境变量
    Image
  3. 在打开的界面中我们选择 系统变量 > Path > 编辑,随后在打开的界面中点击 新建
    Image
  4. 输入我们刚刚复制的文件夹路径
D:\Nuget\
  1. 一直点击确定即可

创建 .nuspec 文件

安装完 Nuget CLI 以及配置好环境变量之后,就可以准备开始创建 .nuspec 文件配置 nuget 包属性了

.nuspec 文件是 NuGet 包的配置文件,这里我们以MyProject项目为例创建一个 MyProject.nuspec 文件放置在C#项目下的根目录,文件层次看起来应该是这样的:

  • 解决方案
    • MyProject项目
      • MyProject.nuspec
      • 其他 .cs 文件

创建好文件后,我们添加对应的文件内容

<?xml version="1.0"?>
<package>
  <metadata>
    <id>MyProject</id>
    <version>1.0.0</version>
    <authors>YourName</authors>
    <owners>YourName</owners>
    <!-- 是否要求用户在下载前接受你的许可证 -->
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>你的nuget包描述文本</description>
    <releaseNotes>First Release</releaseNotes>
    <copyright>Copyright 2026</copyright>
    <tags>标签1 标签2 标签3</tags>
  </metadata>
  <files>
    <file src="bin\Release\*.*" target="lib\net48" />
  </files>
</package>

生成 Nuget 包

现在进入到最后一步了,生成一个完整的.nuget包文件

重启 Visual Studio 编译器(记住一定要 重启 不然环境变量无法生效),随后按下 Ctrl + ` 打开我们的 Developer PowerShell 输入:

nuget pack MyProject\MyProject.nuspec

这样我们就完成了nuget包的打包,打包的文件会放在 项目文件的根目录

发布 Nuget 包

创建 .nupkg 文件后,使用 .NET CLI 或 NuGet CLI 以及从 nuget.org 获取的 API 密钥将其发布到 nuget.org。

注意:NuGet.org 扫描所有上传的程序包以检测病毒,如果发现任何病毒,则会拒绝这些程序包。 Nuget.org 还会定期扫描所有现有列出的包。

发布到 nuget.org 的包对其他开发人员公开可见,除非取消列出它们。

获取 API 密钥

在发布 NuGet 包之前,请创建 API 密钥:

  1. 登录到 nuget.org 帐户 或 创建帐户(如果还没有帐户)。
  2. 选择右上角的用户名,然后选择 API 密钥。
  3. 选择 创建,并提供密钥的名称。
  4. 在 “选择范围”下,选择 “推送”。
  5. 在 选择包>的 Glob 模式下,输入 *。
  6. 选择 创建。
  7. 选择 复制 以复制新密钥。

完成后,点击Upload选项卡,随后将 .nupkg 文件拖动到指定位置

Image

这样你就完成了nuget包的发布