制作nuget包并上传到nuget.org

下面是一个详细的步骤指南,用于创建一个简单的 C# NuGet 包并将其发布到 NuGet.org。我们将创建一个简单的数学库作为示例。

步骤 1: 创建一个新的类库项目

首先,我们需要创建一个新的类库项目。这可以通过 Visual Studio 或者 .NET CLI 完成。

使用 .NET CLI:

打开命令行(例如 PowerShell、CMD 或 Terminal),然后运行以下命令:

bash 复制代码
dotnet new classlib --name SimpleMathLibrary
cd SimpleMathLibrary

这将创建一个名为 SimpleMathLibrary 的新类库项目,并将当前目录更改为项目目录。

使用 Visual Studio:
  1. 打开 Visual Studio,点击"创建新项目"。
  2. 在搜索框中搜索"类库",选择"类库(C#)"选项,然后点击下一步。
  3. 输入项目名称"SimpleMathLibrary",选择一个位置,然后点击"创建"。

步骤 2: 添加逻辑到类库

修改 Class1.cs 文件或者创建一个新的 C# 类文件来添加你的逻辑。以下是一个简单函数的示例,用于演示:

csharp 复制代码
// Filename: MathOperations.cs
using System;

namespace SimpleMathLibrary
{
    public static class MathOperations
    {
        public static int Add(int a, int b)
        {
            return a + b;
        }
    }
}

步骤 3: 配置项目文件

编辑项目的 .csproj 文件,添加 NuGet 包的元数据信息:
注意:PackageId一定要是有效的,可以在nuget.org,上搜索看看是否已经存在

xml 复制代码
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <PackageId>pzx_test_add</PackageId>
    <Version>1.0.0</Version>
    <Authors>YourName</Authors>
    <Company>YourCompanyName</Company>
    <Description>一个简单的数学运算类库。</Description>
  </PropertyGroup>

</Project>

请确保替换 YourNameYourCompanyName 为相应的值。

步骤 4: 构建并打包

使用 .NET CLI 构建并打包 NuGet 包:

bash 复制代码
dotnet pack

这将在 bin\Release 目录下创建一个 NuGet 包 (pzx_test_add.1.0.0.nupkg)。

步骤 5: 获取 NuGet.org API 键

在发布你的包之前,你需要在 NuGet.org 上注册账号并获取 API 键:

  1. 访问 NuGet.org 并登录或创建一个新账户。
  2. 导航到你的账户设置,找到 API Keys 部分并创建一个新的 API 密钥。
  3. 保存你的 API 密钥,你将在下一步中使用它。

步骤 6: 发布包到 NuGet.org

使用以下命令将你的包发布到 NuGet.org

bash 复制代码
dotnet nuget push ".\bin\Realse\pzx_test_add.1.0.0.nupkg" --api-key your-api-key --source https://api.nuget.org/v3/index.json

也可以直接在网站上浏览,本地文件上传(记得点击sumbit)

确保替换 your-api-key 为实际的 API 密钥。

步骤 7:查看发布好的包

上传到nuget.org,刷新有点慢,需要等待一段时间

根据自己的需求选择合适的方式下载包

步骤 8:验证,上传的包是否正确

创建一个控制台项目,引入pzx_test_add 包

控制台输出:结果:3

小结

现在,你已经成功创建并发布了一个简单的 C# NuGet 包到 NuGet.org。你可以继续添加更复杂的逻辑和功能到你的类库中,并遵循相同的步骤来更新 NuGet 包。

记住,好的 NuGet 包应该有明确的文档、清晰的使用说明和充分的测试。祝你在 NuGet 包开发的旅程中一切顺利!

相关推荐
AzulX10 天前
基于 .NET 的 Nuget 发版工具
工具·nuget
△曉風殘月〆3 个月前
如何修改Nuget包的缓存路径
visual studio·nuget·nuget packages
IT规划师3 个月前
Redis入门 - C#|.NET Core封装Nuget包
redis·.netcore·nuget
唐宋元明清21884 个月前
.NET 高效Nuget管理工具(开源)
c#·nuget
VAllen6 个月前
如何使用csproj构建C#源代码组件NuGet包?
dotnet·nuget
coredx8 个月前
一个.NET内置依赖注入的小型强化版
.net·nuget
饭勺oO8 个月前
学习Source Generators之打包成Nuget使用
c#·asp.net core·.net core·nuget·roslyn·source genertor
rjcql1 年前
如何使用本地私有NuGet服务器
运维·.net·nuget
数据的流1 年前
Nuget包缓存存放位置迁移
缓存·nuget