如何制作一个专业的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.首先需用登录,直接用微软账户登录即可

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

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

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

3.填写信息

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

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

4.获取Key

点击Copy按钮获取Key

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

二,创建项目

1.创建项目

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

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

2.生成dll

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

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

3.建立发布文件夹

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

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

说明:

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

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

1.2配置nuget环境变量

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

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

如何制作一个专业的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文件

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

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包?手把手教!超级详细!绝对能学会!

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

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

2.3创建新Package

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

2.4新增lib文件夹

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

2.5新增net40文件夹

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

2.6添加已有文件

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

添加好文件,是这样的

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

2.7编辑上传数据

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

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

填写信息

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

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

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

编辑完成,看下效果

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

而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文件

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

文件

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

2.8发布到nuget

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

输入在nuget.org上的key

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

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

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

在NuGet上安装

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

哈哈,完成

四,NuGet包的管理

1.管理包

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

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

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

2.删除

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

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

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

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

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

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

这是我上次的一个项目

WinForm.MoveControl

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

项目文章介绍:

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

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

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 命令行上传找不到 snupkg 文件


下一篇:web.xml文件笔记