首页 > 其他分享 >如何制作一个专业的NuGet包?手把手教!超级详细!绝对能学会!

如何制作一个专业的NuGet包?手把手教!超级详细!绝对能学会!

时间:2023-02-20 11:57:35浏览次数:46  
标签:nuget Package 手把手 超级 NuGet https org WinForm

目录

一,在NuGet上创建并获取API Keys

1.首先需用登录,直接用微软账户登录即可

2.点击右上角菜单API Keys,创建Key

3.填写信息

4.获取Key

二,创建项目

1.创建项目

2.生成dll

3.建立发布文件夹

三,上传NuGet

1.使用命令行上传

2.使用NuGet Package Explorer发布

四,NuGet包的管理

1.管理包

2.删除


 

一,在NuGet上创建并获取API Keys

网址:https://www.nuget.org/

1.首先需用登录,直接用微软账户登录即可

2.点击右上角菜单API Keys,创建Key

3.填写信息

我这里直接填写项目名作为Key Name

4.获取Key

点击Copy按钮获取Key

 

二,创建项目

1.创建项目

框架使用.NET Framework 4,这个在后面也会使用到,输出类型使用类库

2.生成dll

完成,项目后,使用Release模式生成dll

3.建立发布文件夹

为了更好管理文件,在E:\nuget新建WinForm.MoveControl文件夹,存放所需的文件

说明:

Icon.png文件,作为nuget包的图标,发现jpg不支持,只能用png

readme.md文件,介绍文件,会在https://www.nuget.org/packages/WinForm.MoveControl/显示

WinForm.MoveControl.dll文件,项目文件

 

三,上传NuGet

上传NuGet的方法有两种

1.使用命令行上传,需要下载nuget.exe

2.使用界面工具上传,需要下载NuGet Package Explorer

1.使用命令行上传

1.1到https://www.nuget.org/downloads下载nuget.exe

1.2配置nuget环境变量

把下载的nuget.exe放到E:\nuget

打开电脑属性--高级系统设置--环境变量--系统变量,选择Path--编辑--新建--填写E:\nuget,确定

环境变量配置好,就可以使用nuget指令了

1.3生成nuspec文件

使用nuget spec命令生产.nuspec 文件,文件xml格式的

  1.   <?xml version="1.0"?>
  2.   <package >
  3.   <metadata>
  4.   <id>Package</id>
  5.   <version>1.0.0</version>
  6.   <authors>GreAmbWang</authors>
  7.   <owners>GreAmbWang</owners>
  8.   <licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
  9.   <projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
  10.   <iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>
  11.   <requireLicenseAcceptance>false</requireLicenseAcceptance>
  12.   <description>Package description</description>
  13.   <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
  14.   <copyright>Copyright 2021</copyright>
  15.   <tags>Tag1 Tag2</tags>
  16.   <dependencies>
  17.   <dependency id="SampleDependency" version="1.0" />
  18.   </dependencies>
  19.   </metadata>
  20.   </package>

可以对里面的信息进行修改,我不悉习惯这种方式,对里面的参数,在下面会介绍到

1.4生成nupkg文件

使用nuget pack命令生产.nupkg文件

1.5上传到nuget

直接使用功能命令

nuget push Package.1.0.0.nupkg xxxkey -Source https://api.nuget.org/v3/index.json
 

这样就上传完成了,还是第二种方法,更加推荐第二种

 

2.使用NuGet Package Explorer发布

2.1下载NuGet Package Explorer

https://www.microsoft.com/zh-cn/p/nuget-package-explorer/9wzdncrdmdm3?activetab=pivot:overviewtab

NuGet Package Explorer可以直接打开一个nupkg格式的文件

2.2参考log4net编写格式

我们直接打开一个发布的nuget,就看看log4net

用NuGet Package Explorer打开,可以参考里面的编写

2.3创建新Package

2.4新增lib文件夹

2.5新增net40文件夹

2.6添加已有文件

添加好文件,是这样的

2.7编辑上传数据

我这里选择Edit Metadata,Edit Metadata Source则是xml文件格式的

填写信息

还需添加项目依赖,则依赖哪些框架比如.NETFramework,.NETStandard等

编辑完成,看下效果

而Edit Metadata Source里面的xml格式是这样的

  1.   <?xml version="1.0" encoding="utf-8"?>
  2.   <package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  3.   <metadata>
  4.   <id>WinForm.MoveControl</id>
  5.   <version>1.0.5</version>
  6.   <title>WinForm.MoveControl 1.0.5</title>
  7.   <authors>GreAmbWang</authors>
  8.   <owners>GreAmbWang</owners>
  9.   <requireLicenseAcceptance>false</requireLicenseAcceptance>
  10.   <icon>Icon.png</icon>
  11.   <projectUrl>https://greambwang.blog.csdn.net/article/details/118424770</projectUrl>
  12.   <description>WinForm.MoveControl 能设置控件拖拽,调整控件大小和位置。
  13.   使用非常简单,执行一句代码,例如button1.SetMove();</description>
  14.   <summary>设置WinForm控件拖拽,调整控件大小和位置</summary>
  15.   <releaseNotes>发布1.0.5</releaseNotes>
  16.   <copyright>Copyright © 2021 GreAmbWang</copyright>
  17.   <language>zh-Hans-CN</language>
  18.   <tags>GreAmbWang, WinForm</tags>
  19.   <readme>readme.md</readme>
  20.   <dependencies>
  21.   <group targetFramework=".NETFramework4.0" />
  22.   </dependencies>
  23.   </metadata>
  24.   </package>

保存nupkg文件

文件

 

2.8发布到nuget

输入在nuget.org上的key

发布后,需要审核,大概两分钟就可以了

在NuGet上安装

哈哈,完成

 

四,NuGet包的管理

1.管理包

NuGet Package Explorer,nuget.org与NuGet中,信息的对比

2.删除

nuget包无法删除,但是隐藏对应的版本

在Listing中,把不需要的版本去除勾选,则在NuGet搜索中不显示出来

发布错的包,都可以通过隐藏版本来设置

 

这是我上次的一个项目

WinForm.MoveControl

能设置控件拖拽,调整控件大小和位置。
使用非常简单,执行一句代码,例如button1.SetMove();

项目文章介绍:

https://greambwang.blog.csdn.net/article/details/118424770

GitHub:https://github.com/GreAmbWang/WinFormProjects

nuget:https://www.nuget.org/packages/WinForm.MoveControl/

 


参考

https://blog.csdn.net/qq_35260798/article/details/108467688

https://docs.microsoft.com/zh-cn/nuget/nuget-org/overview-nuget-org

 

标签:nuget,Package,手把手,超级,NuGet,https,org,WinForm
From: https://www.cnblogs.com/sexintercourse/p/17136821.html

相关文章

  • NuGet Package Explorer
    现代VisualStudio下的开发,大家一定用过,或者听说过nuget,不知道的可以去面壁了。代码写多了,经验越来越丰富,但人越来越懒,是啊,谁愿意重复造轮子?谁又愿意陷入版本管理的地狱?......
  • NuGet私有服务器ProGet Docker搭建和公司中实战用法
     一、什么时候需要用到NuGet私有服务器很多公司中架构师会搭建一个统一的项目基础架构模板,然后全部新项目都会拿这个基础架构来开发新的项目,那架构中就会有很多的中......
  • 超级浏览器有什么功能和价值
    简单来说,超级浏览器的核心价值就是为让同一台电脑上的不同账户实现环境隔离。所以,超级浏览器是一种多个账号在同一台设备上执行多个任务,不会互相干扰的浏览器。这种浏览器主......
  • 关于超级浏览器的误解,是时候澄清了
    其实超级浏览器经过几年的迭代发展,技术上已经相对成熟了。但是有些小伙伴对超级浏览器可能还有一些误解,所以今天就在这里和大家掰扯掰扯那些大家对超级浏览器的误解。因为一......
  • 手把手教你搭建自己的个人博客(图文教程)
    首先你需要准备好一台服务器「个人博客的重要性 」首先我们谈一谈搭建个人博客必要性,个人认为在学习过程中,被动接受知识对你的提高是轻微的。比如你看网课学习,在听老师讲......
  • 使用Github Actions构建、发布和部署NuGet软件包
    介绍在DevOps的现代时代,自动化已变得越来越流行,而创建/上传软件包已成为过去。而且,软件包的数量在开发人员的生活中日益增加。因此,在NuGet.org上手动构建、发布和部署所有......
  • 小白指南:手把手教你用低代码开发一个应用页面
     一、什么是低代码开发在了解低代码开发之前,我们先看看使用低代码开发的效果。低代码开发效果示例低代码开发是DevEcoStudio为HarmonyOS开发者提供的可视化页面的......
  • ChatGPT 怎么用手把手超详细教程-新手小白一看就会
    ChatGPT最近火爆异常,相信大家都听说过他的大名,ChatGPT在自然语言处理上面表现出了惊人的能力。但是很多新手小白朋友还是不清楚ChatGPT是什么,本文将手把手告诉大家,Ch......
  • 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    .net6之后,不会随项目生成packages文件夹,将项目拷贝到无联网的电脑上用VS打开时,会出现nuget还原失败的情况,只需要把原电脑中的用户文件夹下的.nuget文件夹拷贝过去,放到对应......
  • 手把手教你使用CharGPT
    一、背景最近一周,大家都在讨论ChatGPT,一些主流的技术社区更是将ChatGPT吹的神乎其技,那ChatGPT是什么呢?又能给我们带来哪些变化呢?。带着这些问题,我打算先注册并使用ChatG......