前言

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

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

创建 GitHub token

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

生成一个 token (classic)

记得勾选跟 packages 有关的权限

在项目中添加 nuget source 配置

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

<?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

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

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

正在将 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 越来越好用了

参考资料

开发现代化的.NetCore控制台程序:(3)将nuget包发布到GitHubPackages的更多相关文章

  1. Mac/Windows开发跨平台.NET Core 控制台程序

    自从微软开始在Github上开源搞.NET Core后,.NET的跨平台逐渐就成真了.多年使用各种语言,说实话还是csharp用起来最舒服.不过现在的工作环境里使用它的机会比较少,大部分时候只是用来写 ...

  2. windows下建立netcore控制台程序,然后传送到centos7下的docker容器里运行

    1.首先,在window下用vs2017开发netcore控制台项目. 2.把建立好的项目传送到centos7下面的容器里. docker cp sharefoldersforwindows/ 359 ...

  3. NetCore控制台程序-使用HostService和HttpClient实现简单的定时爬虫

    .NetCore承载系统 .NetCore的承载系统, 可以将长时间运行的服务承载于托管进程中, AspNetCore应用其实就是一个长时间运行的服务, 启动AspNetCore应用后, 它就会监听网 ...

  4. 省市县树形结构打印-.netCore控制台程序

    using CityJson;using Dapper;using Newtonsoft.Json;{ using (var db = DbHelper.Db()) { //数据格式 //code_p ...

  5. .NET6控制台程序使用quartz.net

    1.新建一个名为"ConsoleQuartz"的.NET6控制台程序. 2.nuget中安装Quartz和Quartz.Plugins,这2个DLL. 3.新建一个HelloQua ...

  6. NetCore偶尔有用篇:NetCore项目发布为Nuget包

    一.简介 1.nuget大家已经不陌生. 2.netcore默认引用便是nuget,并处理了嵌套关系. 3.netcore已经支持直接编译生成nuget包. 4.本文介绍如何把自己建立的项目发布为nu ...

  7. 初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序

    原文:初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序 1. 安装.NET Core 安装包下载地址:https://www.microso ...

  8. VS开发】如何给console控制台程序更换应用程序图标

    [VS开发]如何给console控制台程序更换应用程序图标 标签:[VS开发] 实际上非常简单,就是增加一个图标资源,在资源视图里,然后修改其ID为IDC_MAINFRAME,然后编译生成即可! 20 ...

  9. 使用.NetCore 控制台演示 熔断 降级(polly)

    1.熔断降级的概念: 熔断:我这里有一根长度一米的钢铁,钢铁的熔点1000度(假设),现在我想用力把这根钢铁折弯,但是人的力有限达不到折弯的点,然后我使用火给钢铁加热,每隔一段时间我就会尝试一下是否能 ...

  10. ASP.NET Core 中文文档 第二章 指南(8) 使用 dotnet watch 开发 ASP.NET Core 应用程序

    原文:Developing ASP.NET Core applications using dotnet watch 作者:Victor Hurdugaci 翻译:谢炀(Kiler) 校对:刘怡(Al ...

随机推荐

  1. 关于 yield 关键字(C#)

    〇.前言 yield 关键字的用途是把指令推迟到程序实际需要的时候再执行,这个特性允许我们更细致地控制集合每个元素产生的时机. 对于一些大型集合,加载起来比较耗时,此时最好是先返回一个来让系统持续展示 ...

  2. Nginx:超时 keeplive_timeout 配置

    参考:Nginx的超时keeplive_timeout配置详解 HTTP 是一种无状态协议,客户端向服务器发送一个 TCP 请求,服务端响应完毕后断开连接. 如果客户端向服务器发送多个请求,每个请求都 ...

  3. Echarts: 同时显示柱状图和前端

    完整代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  4. Ubuntu 用户的切换

    1.普通用户转成root su root 输入密码 确认密码(此时root账户已经建立) 2. root 转回 普通用户 su  用户名

  5. python3使用ESL和sipp自动多轮压测FreeSWITCH

    环境:CentOS 7.6_x64   FreeSWITCH版本 :1.10.9   sipp版本:3.6.1   python版本:3.9.12 日常工作中,有时会遇到批量自动压测FreeSWITC ...

  6. 2023-08-04:村里面一共有 n 栋房子 我们希望通过建造水井和铺设管道来为所有房子供水。 对于每个房子 i,我们有两种可选的供水方案: 一种是直接在房子内建造水井 成本为 wells[i -

    2023-08-04:村里面一共有 n 栋房子 我们希望通过建造水井和铺设管道来为所有房子供水. 对于每个房子 i,我们有两种可选的供水方案: 一种是直接在房子内建造水井 成本为 wells[i - ...

  7. 武汉工程大学第五届程序设计新生赛 I题 题解

    (2022,12,3) 原题链接(来自牛客竞赛) 抽象题意 题目有点长,我们需要抽象出一个模型: 一个长度为\(n\)的序列\(a_i\),从\(a_1\)开始向后跳,每次可以从\(a_i\)跳到下一 ...

  8. 8 最全的零基础Flask教程

    最全的零基础Flask教程 1 Flask介绍 1.1 为什么要使用Flask Django和Flask是Python使用最多的两个框架 1.2 Flask是什么 Flask诞生于2010年,是Arm ...

  9. Electron-builder打包和自动更新

    Electron-builder打包和自动更新 前言 文本主要讲述如何为 electron 打包出来软件配置安装引导和结合 github 的 release 配置自动更新. electron-buil ...

  10. VScode软件的安装以及C/C++环境配置的方法

    今天和大家分享一下VScode软件的安装以及C/C++环境配置的方法.手把手教大家入门. 1,下载VScode编译器 (1)    官网下载链接:https://code.visualstudio.c ...