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

目录

一,在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

 

posted on 2023-02-20 11:47  漫思  阅读(393)  评论(0编辑  收藏  举报

导航