目录
一,在NuGet上创建并获取API Keys
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