新文章 网摘 文章 随笔 日记

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

以下文章转自:

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

 

目录

一,在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格式的

<?xml version="1.0"?>
<package >
<metadata>
<id>Package</id>
<version>1.0.0</version>
<authors>GreAmbWang</authors>
<owners>GreAmbWang</owners>
<licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2021</copyright>
<tags>Tag1 Tag2</tags>
<dependencies>
<dependency id="SampleDependency" version="1.0" />
</dependencies>
</metadata>
</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格式是这样的

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>WinForm.MoveControl</id>
<version>1.0.5</version>
<title>WinForm.MoveControl 1.0.5</title>
<authors>GreAmbWang</authors>
<owners>GreAmbWang</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<icon>Icon.png</icon>
<projectUrl>https://greambwang.blog.csdn.net/article/details/118424770</projectUrl>
<description>WinForm.MoveControl 能设置控件拖拽,调整控件大小和位置。
使用非常简单,执行一句代码,例如button1.SetMove();</description>
<summary>设置WinForm控件拖拽,调整控件大小和位置</summary>
<releaseNotes>发布1.0.5</releaseNotes>
<copyright>Copyright © 2021 GreAmbWang</copyright>
<language>zh-Hans-CN</language>
<tags>GreAmbWang, WinForm</tags>
<readme>readme.md</readme>
<dependencies>
<group targetFramework=".NETFramework4.0" />
</dependencies>
</metadata>
</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
————————————————
版权声明:本文为CSDN博主「GreAmbWang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38211198/article/details/118438071

 

posted @ 2022-10-12 13:51  岭南春  阅读(357)  评论(0)    收藏  举报