使用dotnet Cli向nuget发布包

长话短说, 今天分享如何在nuget.org创建并发布.NET Standard package。

前置

  1. 安装勾选.NET Core开发套件的Visual Studio; 安装dotnet Cli

从VS2017开始,dotnet Cli已经自动在.NET开发套件中被安装;使用SDK-style format(SDK属性)的.NET Standard项目需要dotnet Cli;nuget.exe Cli用于非SDK样式的项目(通常是.NET Framework)。

  1. 创建.NET Standard库项目

配置package属性

  1. 项目右键,选择属性--->打包
    打包面板只会出现在VSSDK-style项目,典型如.NET Standard或者.NET Core库项目。

构建时生成Nuget包:顾名思义,除打包命令,构建时也会自动生成nuget包;
标记:帮助其他人定位你的包,了解包的能力。

  1. 给package设定一个唯一id,并填写其他属性。注意这个package id需要在nuget.org全站唯一,我们建议你使用包前缀名来避免重复,比如:${UserName}.PackageName

打包

  1. 将配置改为Release

  2. 右键项目--> 打包

如果你没有看到打包命令,你的项目可能不是SDk-style风格的项目,这是要使用 nuget.exe Cli(或者迁移到SDK-style项目,再使用dotnet Cli)。

  1. Visual Studio构建项目并创建.nupkg文件,插看输出窗体,获取包文件的路径。

发布包

有了.nupkg文件,你可以从nuget.org获取一个API key(这个Key标记了你这个nuget账户),结合dotnet cli发布包。

获取API Key

  1. 登陆nuget.org账户

  2. 点击右上角你的账户名字,选择API keys

  3. 创建---> 选择范围--> Push, 在Glob pattern填入*

  4. 一旦生成key,请尽早Copy并保存key,这个key将在dotnet Cli命令中用到

尽快保存你的key,如果你再次返回这个页面,你需要重新生成key并Copy.

发布包

转到包含.nupkg文件的目录,执行下面命令

dotnet nuget push AppLogger.1.0.0.nupkg -k qz2jga8pl3dvn2akksyquwcs9ygggg4exypy3bhxy6w6x6 -s https://api.nuget.org/v3/index.json

显示如下结果:

info : Pushing AppLogger.1.0.0.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/ 12620ms
info : Your package was pushed.

推送命令中的错误通常表明存在问题 , 如:

  • 您可能忘记了更新项目中的版本号,而尝试发布已经存在的软件包。

  • 您尝试使用主机上已存在的标识符发布程序包时,也会看到错误:名称“ AppLogger”已经存在。

Response status code does not indicate success: 403 (The specified API key is invalid,
has expired, or does not have permission to access the specified package.).

如果您使用的是有效 API key,则此消息表示命名冲突,从以上错误的“权限”部分无法完全看出这一点。更改程序包标识符,重建项目,重新创建.nupkg文件,然后重试push命令。

其他一些包管理的操作,请在nuget包管理中心倒腾。

关注我们
更多技术干货及#副业刚需#

请关注Dotnet Plus公众号

“阅读全文,体验更佳”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/309439.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STL中vector建立最大堆和最小堆

1.堆的概念: 堆是一种非线性结构,可以把堆看作一个数组,也可以被看作一个完全二叉树,通俗来讲堆其实就是利用完全二叉树的结构来维护的一维数组按照堆的特点可以把堆分为大顶堆和小顶堆 大顶堆:每个结点的值都大于或…

结合 AOP 轻松处理事件发布处理日志

结合 AOP 轻松处理事件发布处理日志Intro前段时间,实现了 EventBus 以及 EventQueue 基于 Event 的事件处理,但是没有做日志(EventLog)相关的部分,原本想增加两个接口, 处理事件发布日志和事件处理日志&…

[JavaWeb-HTML]HTML标签_块标签

div和span: * div:每一个div占满一整行。块级标签* span:文本信息在一行展示,行内标签 内联标签

关于堆的判断 (25 分)

题目: 将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种: x is the root:x是根结点; x and y are siblings:x和y是兄弟结点; x is the parent of y&am…

基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(三)

系列文章使用 abp cli 搭建项目给项目瘦身,让它跑起来完善与美化,Swagger登场数据访问和代码优先自定义仓储之增删改查统一规范API,包装返回模型再说Swagger,分组、描述、小绿锁接入GitHub,用JWT保护你的API异常处理和…

[JavaWeb-HTML]HTML标签_链接标签

链接标签&#xff1a; * a:定义一个超链接* 属性&#xff1a;* href&#xff1a;指定访问资源的URL(统一资源定位符)* target&#xff1a;指定打开资源的方式* _self:默认值&#xff0c;在当前页面打开* _blank&#xff1a;在空白页面打开示例代码如下: <!--超链接 a-->…

完全卸载软件及电脑软件残留

当我在控制面板的卸载软件里没有发现我要删软件的软件时&#xff0c;只找到了软件的部分安装目录删除&#xff0c;就会发生残留问题&#xff0c;导致软件依旧可以运行。 经过这么多次后&#xff0c;我就找到了我自认为的最优解。首先运行这个软件&#xff1b;之后打开windows任…

[JavaWeb-CSS]CSS基础选择器

选择器&#xff1a;筛选具有相似特征的元素 * 分类&#xff1a;1. 基础选择器1. id选择器&#xff1a;选择具体的id属性值的元素.建议在一个html页面中id值唯一* 语法&#xff1a;#id属性值{}2. 元素选择器&#xff1a;选择具有相同标签名称的元素* 语法&#xff1a; 标签名称{…

真的是计划赶不上变化吗?

「做事容易半途而废&#xff0c;缺乏毅力」&#xff0c;我想100个人里面有99个是这样。更加好玩的是&#xff0c;这99个人里面可能还有不少会劝说别人要坚持……所以&#xff0c;其实我们每个人心里都清楚&#xff0c;一件事情不会“自动完成”&#xff0c;只有靠自己坚持做下去…

关于解决Path被大改,无法直接编辑恢复的问题

为了给eclipse改版&#xff0c;不用更改API&#xff0c;我动了环境变量&#xff0c;因为我的环境变量名称是path&#xff0c;所以当给tomcatTomCAT安装以及使用详细解释配置环境时&#xff0c;我直接新建的Path&#xff0c;把原来的path覆盖掉了&#xff0c;而且在注册表里无法…

[JavaWeb-HTML]CSS与html结合方式

CSS的使用&#xff1a;CSS与html结合方式 1. 内联样式* 在标签内使用style属性指定css代码* 如&#xff1a;<div style"color:red;">hello css</div>2. 内部样式* 在head标签内&#xff0c;定义style标签&#xff0c;style标签的标签体内容就是css代码* …

Sql Server之旅——第十二站 对锁的初步认识

作为一个开发人员&#xff0c;锁机制也是我们程序员必须掌握的东西&#xff0c;很久之前在学习锁的时候&#xff0c;都是教科书上怎么说&#xff0c;然后我怎么背&#xff0c;缺少一个工具让我们眼见为实。。。如果这样的话&#xff0c;学习一个东西就很容易忘记。。。因为这些…

算法基础

目录枚举例题应用&#xff1a;模拟技巧递归$分治递归分治算法贪心常见题型与动态规划的区别例题&#xff1a;应用排序选择排序冒泡排序插入排序计数排序基数排序二分最大值最小化STL 的二分查找三分法最大化平均值&#xff08;01分数规划&#xff09;枚举 枚举&#xff08;英语…

ABP框架 v2.9发布!

ABP框架和ABP商业版2.9已经发布,这是3.0之前的最后一个版本! 这篇文章将涵盖本次发布中的新增内容.ABP框架2.9有哪些新增内容&#xff1f;你可以中GitHub的发行说明中看到所有的变更.这篇文章将只包括重要特征/变更.预编译Razor Pages在之前的版本, 预构建的页面(应用模块)和视…

[JavaWeb-CSS]CSS概述

CSS&#xff1a;页面美化和布局控制 1. 概念&#xff1a; Cascading Style Sheets 层叠样式表* 层叠&#xff1a;多个样式可以作用在同一个html的元素上&#xff0c;同时生效2. 好处&#xff1a;1. 功能强大2. 将内容展示和样式控制分离* 降低耦合度。解耦* 让分工协作更容易*…

2021—ICPC省赛冲刺

OI-wiki 知识点汇总 算法基础 数论 动态规划专题 数据结构专题 数据结构详细 搜索相关 字符串相关 今天看见了别人的整理模板的博客&#xff0c;膜拜&#xff0c;orz&#xff0c;先放上来回头慢慢学习%%%%% 啥都有 超全模板题 板板板 逐步完善中。。。。

最终选型 Blazor.Server:又快又稳!

书接上文&#xff0c;昨天我们快速的走了一遍wasm的开发流程&#xff08;我的『MVP.Blazor』快速创建与部署&#xff09;&#xff0c;总体来说还是很不错的&#xff0c;无论是从技术上&#xff0c;还是从开发上&#xff0c;重点是用C#来开启前端时代&#xff0c;可以开发SPA单页…

[JavaWeb-HTML]HTML标签(大部分常用标签介绍)

标签学习&#xff1a; 1. 文件标签&#xff1a;构成html最基本的标签* html:html文档的根标签* head&#xff1a;头标签。用于指定html文档的一些属性。引入外部的资源* title&#xff1a;标题标签。* body&#xff1a;体标签* <!DOCTYPE html>&#xff1a;html5中定义该…

博客系统知多少:揭秘那些不为人知的学问(三)

点击上方关注“汪宇杰博客”上篇《博客系统知多少&#xff1a;揭秘那些不为人知的学问&#xff08;二&#xff09;》介绍了博客的基本功能设计要点&#xff0c;本篇介绍博客的协议或标准。1.“博客”的前世今生2.我的博客故事3.谁是博客的受众&#xff1f;4. 博客基本功能设计要…

后悔贪心+P2949 [USACO09OPEN]Work Scheduling G

题意&#xff1a; 给你N个任务&#xff0c;每个任务 iii 都有截止日期DiD_{i}Di​和报酬PiP_{i}Pi​&#xff0c;每完成一个工作需要耗费1的单位时间,你需要使所得报酬最大并输出。 题目描述 Farmer John has so very many jobs to do! In order to run the farm efficientl…