构建现代的 .Net 应用离不开 Nuget 的支持,而快速打包 Nuget 成了提高生产率的有效方法。没有CI/CD?来试试使用windows右键菜单吧

先看右键效果图

有时候我们可能没有CI/CD的条件来自动发布nuget包,这个时候文件夹右键菜单就显得十分高效了

如图所示,直接在文件夹右键可以看到又nuget publish的菜单按钮

如何实现

具体的操作是修改 windows 的注册表,具体可以参考 windows 下如何修改右键菜单 一文

这里我写了2个注册表脚本分享一下

bata版发布:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Nuget]
@="Nuget Publish-beta" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Nuget\command]
@="powershell.exe -noexit -command Set-Location -literalPath '%V' ;powershell.exe -c \"echo $pwd;del *.nupkg ;$ver = -join ((Get-Date -format "yyyy.MMdd.HH.mm"),"-beta");dotnet pack --configuration Release --output $pwd /p:Version=$ver;$nupkg= dir *.nupkg; dotnet nuget push $nupkg -k nuget密钥 -s nuget地址;del $nupkg\""

正式版发布:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Nuget]
@="Nuget Publish-beta" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Nuget\command]
@="powershell.exe -noexit -command Set-Location -literalPath '%V' ;powershell.exe -c \"echo $pwd;del *.nupkg ;$ver = Get-Date -format "yyyy.MMdd.HH.mm";dotnet pack --configuration Release --output $pwd /p:Version=$ver;$nupkg= dir *.nupkg; dotnet nuget push $nupkg -k nuget密钥 -s nuget地址;del $nupkg\""

搞定

将文本另存为 xxx.reg,双击即可导入到系统,然后重启 windows 资源管理器的进程(就是我的电脑的进程)。

然后右键就可以体验啦,搞定收工。

最后

欢迎大家体验评论,使用后欢迎各位给出更好的脚本方案评论

windows右键菜单自动打包发布nuget,没有CI/CD一样方便!的更多相关文章

  1. 发布nuget包的正确姿势---cicd自动打包发布nuget包

    最轻便的发布nuget包方式,方便cicd自动打包发布nuget包 首先新建项目 项目名随便取,这里就叫它GuiH.ClassLibrary 默认即可,需要改目标版本时,等创建好再改 项目创建好了 随 ...

  2. 在windows右键菜单中加入自己的程序 [转载]

    原文链接: http://blog.csdn.net/marklr/article/details/4006356  在windows右键菜单中加入自己的程序 标签: windowsattribute ...

  3. Windows右键菜单设置与应用技巧

    http://blog.163.com/lee_honleon/blog/static/555251522008014258896/   需要修改注册表,挺麻烦的.最好还是把迅雷卸了重装,不会影响什么 ...

  4. spring-boot 2.5.4,nacos 作为配置、服务发现中心,Cloud Native Buildpacks 打包镜像,GitLab CI/CD

    spring-boot 2.5.4,nacos 作为配置.服务发现中心,Cloud Native Buildpacks 打包镜像,GitLab CI/CD 本文主要介绍 Java 通过 Cloud N ...

  5. 使用release自动打包发布正式版详细教程

    昨天写了个release插件的版本管理,今天就在自动发布过程中遇到了许多坑,只能再写一篇自动发布详细教程,纪念我那昨日逝去的青春 (╥ _ ╥`) release正常打包发布流程按照如下几个阶段: C ...

  6. NET Core:搭建私有Nuget服务器以及打包发布Nuget包

    docker 安装 https://www.cnblogs.com/liuxiaoji/p/11014329.html 1.使用docker搭建私有Nuget服务器 docker run -d -p ...

  7. 使用Web Deploy自动打包发布

    在内部测试阶段,经常改一点小东西需要更新给测试继续测试.然后就需要频繁的找到对应更改的视图/JS文件,或者是编译的dll文件,再打开测试服务器找到对应站点替换进去,整套流程下来就非常的繁琐费时. 使用 ...

  8. .NetCore下利用Jenkins如何将程序自动打包发布到Docker容器中运行

    说道这一块纠结了我两天时间,感觉真的很心累,Jenkins的安装就不多说了 这里我们最好直接安装到宿主机上,应该pull到的jenkins版本是2.6的,里面很多都不支持,我自己试了在容器中安装的情况 ...

  9. mac下git+maven+jenkins自动打包发布

    随着springboot+springcloud(dubbo)越来越多人使用,流行的微服务的概念越来越深入人心.分布式部署越来越复杂,给手动发布带来很大工作量.为了方便前期测试和后期线上部署更新,可使 ...

随机推荐

  1. tomcat配置启动不了

    关于ideatomcat配置问题 1.第一步配置tomcat启动器 2.配置启动的网址 3.配置启动器的启动 ---更多java学习,请见本人小博客:https://zhangjzm.gitee.io ...

  2. Docker(40)- docker 实战三之安装 ES+Kibana

    背景 参考了狂神老师的 Docker 教程,非常棒! https://www.bilibili.com/video/BV1og4y1q7M4?p=16 es 前言 es 暴露的端口很多 es 十分耗内 ...

  3. MySQL实战45讲(16--20)-笔记

    目录 16 | "order by"是怎么工作的? 全字段排序 rowid 排序 17 | 如何正确地显示随机消息? 内存临时表 磁盘临时表 随机排序方法 18 | 为什么这些SQ ...

  4. 前端框架VUE——安装及初始化

    本篇文章适合,想要学习 vue,但对 vue 又没有接触过的同学阅读,是非常基础的内容.告诉大家使用 vue 时的安装方式,及如何创建实例,展示内容. 一.安装方式 vue 是一种前端框架,所以使用前 ...

  5. java版gRPC实战之七:基于eureka的注册发现

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. 【OI】计算分子量 Molar mass UVa 1586 题解

    题目:(由于UVa注册不了,还是用vjudge) https://vjudge.net/problem/UVA-1586 详细说明放在了注释里面.原创. 破题点在于对于一个元素的组合(元素+个数),只 ...

  7. python BeautifulSoup html解析

    * BeautifulSoup 的.find(), .findAll() 函数原型 findAll(tag, attributes, recursive, text, limit, keywords) ...

  8. modern php closure 闭包

    * 在array_map()函数中使用闭包 <?php $numbersPlusOne = array_map(function($number) { return $number + 1; } ...

  9. 『GoLang』协程与通道

    作为一门 21 世纪的语言,Go 原生支持应用之间的通信(网络,客户端和服务端,分布式计算)和程序的并发.程序可以在不同的处理器和计算机上同时执行不同的代码段.Go 语言为构建并发程序的基本代码块是 ...

  10. 『GoLang』字典Map

    map是一种元素对的无序集合,一组称为元素value,另一组为唯一键索引key. 未初始化map的值为nil.map 是引用类型,可以使用如下声明: var map1 map[keytype]valu ...