从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(下篇)
前言
上篇,我们已经讲Nancy的参数绑定bug修复,其实就是一个基于源码修改的扩展方法。只需要添加在项目中,并在拦截器中调用一下修复方法即可。本篇,我们简单介绍一下,如何将修复方法打包成nuget包,并上传到nuget官方,提供给他人使用。
网上已经有各种花式更高阶全面的教程,一番百度你也能搞定。但是,我的教程更简单更基础,可以理解为从零开始学nuget打包。
准备工作
1.nuget的账户,可以在官网//www.nuget.org/进行注册,如果有微软账户,可以使用微软账户登录。
2.下载nuget打包工具,下载地址//github.com/NuGetPackageExplorer/NuGetPackageExplorer/releases
开始
1.打开项目集,右键-属性-应用程序-程序集信息。填写基本的项目标题,描述等信息。填写完毕,将项目生成一下。
打开项目bin目录,选择release目录,可以看到已经生成完毕的dll文件。
2.将下载的NuGetPackageExplorer解压,双击打开NuGetPackageExplorer.exe
3.选择Create a new package(Ctrl+N)创建一个新的包。
4.在右侧的Package contents下方空白处,右键,选择Add Lib Folder。
5.选中lib,右键,选中Add Existing File。
6.将除了Nancy.dll,Nancy.xml之外的其他文件都添加到lib文件夹中。因为这个nuget就是来修复Nancy的,所以引用这个包的项目中必然也是已经引入了Nancy的,自然也就不需要添加Nancy.dll文件在包中。
导入之后是这样的
7.现在该编辑nuget包信息了,有三种操作方式:
A.点击Package metadata下面的这个带笔的图标
B.选择Edit-Edit Metadata
C.快捷键操作:Ctrl+K
这里有很多可以填写的内容,但并不是每个都需要填写。具体每一项的内容,我也不是很清楚,只把自己觉得可以填写的内容填写了。我只能简单说一下,几项基础的内容项目,欢迎大佬补充。
Id:包名,就是你在Nuget程序包管理器中搜索时的名称
Version:顾名思义,就是版本号,在Nuget程序包管理器中更新包时,可以选择的版本号。
Title:好像没啥用,我就简单写了包的作用。
Authors:包作者的名字,在Nuget程序包管理器中查看包信息时,可以查看该信息。
Icon:包的图标,这里需要用网络地址,我是用的图床工具生成的链接。
Project Url:就是项目地址,这是上传到nuget之后的地址
License:同上
Description:这里是对包的作用进行一些简单的描述,在Nuget程序包管理器中查看包信息时,可以查看该信息。
Release Notes:对本次发布的情况做一下简单说明,类似于你git提交代码时所写的说明。
Copyright:你懂得
Language:语言,我选的是中文,应该是无所谓的
接下来,填写依赖信息,点击Edit dependencies
点击绿色的加号,新增一个依赖组。再点击下方的扳手图标,搜索依赖包Nanacy, 双击Nancy选择完毕。
Nancy版本号,我们输入1.0.0,经过非专业的测试,只考虑1.0.0以上版本的Nancy进行修复。你的程序依赖什么包的什么版本,自己看着办吧,哈哈!
输入完毕,点击右下角的绿色加号,点击OK完成添加。
这里我有点疑惑,没搞明白怎么添加对.NET Framework版本的依赖。可以添加.NET Framework不同版本的文件夹,然后呢,我也不是很清楚。知道的大佬可以分享一下!
该填写的都填写好了,剩下的我也不知道该怎么填,不管了,点击绿色勾勾保存。
8.这时,我们需要先去申请nuget包上传的Api Key。打开Nuget Api Key页面//www.nuget.org/account/apikeys,输入api key的名称,有效期,作者。Glob Pattern可以输入*来匹配所有的包,点击Create完成创建。
创建完成,点击Copy复制Api Key,把这个Api Key保存下来,因为这个页面刷新之后就没有了,后续包更新也需要这个Api Key来发布更新包。
刷新之后,是这样的
9.现在已有Api Key了,可以上传包了。回到NuGetPackageExplorer,继续。选择File-Publish
插一句,如果你希望将包生成到本地,可以选择File-Save As
你就可以得到一个本地的nuget包安装文件
我们继续来发布,输入我们刚才得到的Api Key,点击Publish完成发布。
几秒钟之后,上传成功。
然后,你就可以在nuget程序包管理页面//www.nuget.org/account/Packages查看到我们上传的nuget包了。
大概5-10分钟,你会收到一份发布成功的邮件,然后就可以在nuget程序包管理器中搜索到我们发布的nuget包了。
最后,在项目中安装我们的修复包,引入命名空间Nancy.FixQueryDictionary,在拦截器中调用修复方法即可。
最最最最最后,附上本次文章所用到的全部源代码。
好了,教程到此结束了,欢迎各路大佬指教完善!