当前位置:网站首页>Nuget 通过 dotnet 命令行发布
Nuget 通过 dotnet 命令行发布
2022-08-04 14:49:00 【林德熙】
在开发完成一个好用的轮子就想将这个轮子发布到 nuget 让其他小伙伴可以来使用,但是 nuget.org 的登陆速度太慢,本文介绍一个命令行发布的方法,通过命令行发布的方法可以配合 Jenkins 自动打包
本文不会告诉大家如何去制作一个 nuget 库,只是在大家已经打出来 nuget 之后如何将这个轮子发布到 nuget ,本文用 nuget.org 作为例子,如果是自己搭建的,那么我也不知道自己搭建的会做成什么
首先打开 nuget.org 进行登陆,就是因为登陆 nuget 实在太慢我才去学如何通过命令行的方法发布
登陆之后,可以在右上角看到自己的账号,点击一下可以看到下面界面,这时点击一个 Api key 因为在使用命令行发布的时候需要一个秘钥,通过上面的界面就可以创建秘钥
在 Api Key 界面可以看到 Create 这个按钮,没错,这是一个按钮
点击一下就可以创建一个 key 了,创建一个 key 可以给 key 不同的功能,具体请看下图
如果指定了可以修改版本的权限,可以设置有哪些轮子的版本号可以被这个 key 修改,请看下面
设置完成就可以点击 Create 了
创建之后需要复制这个 Key 的 序列,先将这个序列保存到文本,在之后会用到。注意,一个key只能在网页没关闭之前复制一次
本文使用的是设置了 MVVM 框架的三个轮子的更新权限,所以下面的例子就是更新一个轮子的版本
我通过 VisualStudio 编译出来不同的轮子的 nuget 请看图
然后我可以在地址栏输入 cmd 启动命令行,为什么需要在地址栏输入?原因是这样输入打开 cmd 就可以自动设置工作路径,请看下图,通过 cmd 打开的就是我需要的工作路径
这时可以通过下面的命令发布对应的 nuget 到 nuget.org 网站
dotnet nuget push xx.nupkg -k 刚才复制的key -s https://api.nuget.org/v3/index.json
如我发布 lindexi.MVVM.Framework.2.2.5.symbols.nupkg 可以使用下面代码
dotnet nuget push lindexi.MVVM.Framework.2.2.5.symbols.nupkg -k oy2fvszjpukd6lm2vaqav5gcx6xcfuaencyx5x2ppab42e -s https://api.nuget.org/v3/index.json
可以看到输出
info : Pushing lindexi.MVVM.Framework.2.2.5.symbols.nupkg to 'https://www.nuget.org/api/v2/package'...
info : PUT https://www.nuget.org/api/v2/package/
info : Created https://www.nuget.org/api/v2/package/ 12720ms
info : Your package was pushed.
现在就成功发布了,那么用命令行除了减少在 nuget.org 登陆的时间之外,还可以用它做自动上传
可以通过这个方式在每次创建的时候只在文件夹保存一个 nuget 这样就可以通过命令行批处理的方式发布到 nuget 因为刚才的命令是可以支持任意的名字
上传某个文件夹内的 nuget 有一个要求就是这个文件夹内只有一个 nuget 不能有多个,而且上传的 nuget 的版本是不存在的,也就是不能多次上传相同版本号的 nuget 如果符合上面的条件就可以通过批处理的方式上传
在相同的文件夹创建一个 nuget.bat 文件,在这个文件输入下面代码
dotnet nuget push *.nupkg -k 刚才复制的key -s https://api.nuget.org/v3/index.json
这样在编译之后调用这个批处理就可以将文件夹内的 nuget 上传,通过这个方式和 Jenkins 自动打包就可以自动发布 nuget 而且这个方式可以防止用户自己上传过程因为编译了不对的分支让其他用户以为自己写出坑
边栏推荐
- [in-depth study of 4 g / 5 g / 6 g project - 50] : URLLC - 16 - the 3 GPP URLLC agreement, specification, technical principle of depth interpretation - 10 - high reliability technology - 1 - low codin
- 企业级优化
- 爬虫——selenium基本使用、无界面浏览器、selenium的其他用法、selenium的cookie、爬虫案例
- 期货开户之前要谈好最低手续费和交返
- 【 HMS core 】 【 Media 】 online video editing service 】 【 material can't show, or network anomalies have been Loading state
- eNSP-小型网络拓扑(DNS、DHCP、网站服务器、无线路由器)
- xampp安装包含的组件有(php,perl,apche,mysql)
- 快解析结合友加畅捷U+
- Crawler - action chain, xpath, coding platform use
- 属于程序猿的浪漫
猜你喜欢
Crawler - basic use of selenium, no interface browser, other uses of selenium, cookies of selenium, crawler cases
Kyushu Cloud attended the Navigator Online Forum to discuss the current status, challenges and future of 5G MEC edge computing
饿了么智能头盔专利获授权,进一步提升骑手安全保障
leetcode:254. 因子的组合
在腾讯,我的试用期总结!
LeetCode_模拟_中等_498.对角线遍历
Compound Refractive Lenses for X-ray Focusing
Database recovery
编译型与解释型编程语言的区别
【Web技术】1401- 图解 Canvas 入门
随机推荐
爬虫——动作链、xpath、打码平台使用
F. Jinyu and its outer matrix (construction)
AOSP内置APP特许权限白名单
Find My技术|防止你的宠物跑丢,苹果Find My技术可以帮到你
CF1527D MEX Tree (mex & tree & inclusive)
化繁为简,聊一聊复制状态机系统架构抽象
【剑指offer59】队列的最大值
How to fall in love with a programmer
[深入研究4G/5G/6G专题-50]: URLLC-16-《3GPP URLLC相关协议、规范、技术原理深度解读》-10-高可靠性技术-1-低编码率编码调制方案MCS与高可靠性DRB
利用决策树找出最优特征组合
The Internet of things application development trend
【Today in History】August 4: First female Turing Award winner; NVIDIA acquires MediaQ; first Cybersecurity Challenge completed
leetcode:250. 统计同值子树
Sum of four squares, laser bombs
Leetcode: 215 disorderly to find the first big k element in the array
1403. 非递增顺序的最小子序列
F.金玉其外矩阵(构造)
MySQL优化学习笔记
Oracle database user creation, restart, import and export
Problem solving-->Online OJ (18)