开发现代化的.NetCore控制台程序:(3)将nuget包发布到GitHubPackages

前言

上一篇文章已经把项目模板的nuget包发布到了 nuget 的官方源了,其实还可以发布到其他源,比如 GitHub ,本文记录一下发布到 GitHub Packages 的过程。

注意:本文建立在本系列第二篇文章的基础上,为了更好理解操作过程,请先熟悉本项目的代码结构

创建 GitHub token

访问 https://github.com/settings/tokens 页面

生成一个 token (classic)

记得勾选跟 packages 有关的权限

在项目中添加 nuget source 配置

src/Templates 目录中新建 nuget.config 文件

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>

<configuration>
    <packageSources>
        <clear />
        <add key="github" value="https://nuget.pkg.github.com/NAMESPACE/index.json" />
    </packageSources>
    <packageSourceCredentials>
        <github>
            <add key="Username" value="USERNAME" />
            <add key="ClearTextPassword" value="TOKEN" />
        </github>
    </packageSourceCredentials>
</configuration>

以上只是 GitHub 提供的配置模板,有几个需要修改的地方

  • USERNAME 替换为 GitHub 上的个人帐户的名称。
  • TOKEN 替换为 personal access token (classic)。
  • NAMESPACE 替换为作为包限定范围的个人帐户或组织的名称。

发布包

执行 dotnet pack 生成 nuget 包

然后执行以下命令将生成的 nuget 包发布到 GitHub Packages

bash 复制代码
dotnet nuget push ".\bin\Release\FluentConsole.Templates.1.1.0.nupkg" --api-key TOKEN --source github
  • TOKEN 是前面申请的

一切正常的话,可以看到以下输出

bash 复制代码
正在将 FluentConsole.Templates.1.1.0.nupkg 推送到 'https://nuget.pkg.github.com/Deali-Axy'...
  PUT https://nuget.pkg.github.com/Deali-Axy/
  OK https://nuget.pkg.github.com/Deali-Axy/ 1129 毫秒
已推送包。

这时候就搞定了,访问 https://github.com/Deali-Axy?tab=packages 可以看到已发布的 packages

将发布的包与代码仓库进行关联

因为项目地址是 https://github.com/Deali-Axy/fluent-dotnet-console

而包名是 FluentConsole.Templates

这俩不一致,所以不会自动关联,我们需要进行手动关联

进入 package 详情页面:https://github.com/users/Deali-Axy/packages/nuget/package/FluentConsole.Templates

点击下方的 Connect Repository 按钮,选择 fluent-dotnet-console 项目即可。

绑定之后在 package 的主页可以看到 repository 的 README

在 repository 的右下角也可以看到这个 package

PS: GitHub 越来越好用了

参考资料

相关推荐
FL162386312912 小时前
[C#][winform]segment-anything分割万物部署onnx模型一键抠图演示
开发语言·c#
love530love14 小时前
OpenClaw 手机直连配置全流程
人工智能·windows·python·智能手机·c#·agent·openclaw
bcbobo21cn15 小时前
C# byte类型和byte数组的使用
开发语言·c#·字节数组·byte类型
月巴月巴白勺合鸟月半17 小时前
一次PDF文件的处理(一)
pdf·c#
大鹏说大话19 小时前
Java 锁膨胀机制深度解析:从偏向锁到重量级锁的进化之路
开发语言·c#
武藤一雄21 小时前
WPF处理耗时操作的7种方法
microsoft·c#·.net·wpf
武藤一雄21 小时前
C#常见面试题100问 (第一弹)
windows·microsoft·面试·c#·.net·.netcore
l1t1 天前
DeepSeek总结的用 C# 构建 DuckDB 插件说明
前端·数据库·c#·插件·duckdb
iReachers1 天前
恒盾C#混淆加密大师 1.4.5 最新2026版本发布 (附CSDN下载地址)
c#·c#混淆·c#加密·wpf加密·winform加密
历程里程碑1 天前
43. TCP -2实现英文查中文功能
java·linux·开发语言·c++·udp·c#·排序算法