• 从一次解决Nancy参数绑定“bug”开始发布自己的第一个nuget包(下篇)


    前言

          上篇,我们已经讲Nancy的参数绑定bug修复,其实就是一个基于源码修改的扩展方法。只需要添加在项目中,并在拦截器中调用一下修复方法即可。本篇,我们简单介绍一下,如何将修复方法打包成nuget包,并上传到nuget官方,提供给他人使用。

    网上已经有各种花式更高阶全面的教程,一番百度你也能搞定。但是,我的教程更简单更基础,可以理解为从零开始学nuget打包。

    准备工作

    1.nuget的账户,可以在官网https://www.nuget.org/进行注册,如果有微软账户,可以使用微软账户登录。

    2.下载nuget打包工具,下载地址https://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页面https://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程序包管理页面https://www.nuget.org/account/Packages查看到我们上传的nuget包了。

     大概5-10分钟,你会收到一份发布成功的邮件,然后就可以在nuget程序包管理器中搜索到我们发布的nuget包了。

      

     

     最后,在项目中安装我们的修复包,引入命名空间Nancy.FixQueryDictionary,在拦截器中调用修复方法即可。

    最最最最最后,附上本次文章所用到的全部源代码。

    GitHub

    Gitee

     好了,教程到此结束了,欢迎各路大佬指教完善!

    本文来自博客园,作者:摇曳de风筝,转载请注明原文链接:https://www.cnblogs.com/pinzi/p/15690280.html

  • 相关阅读:
    函数-列表生成式
    函数-闭包
    函数-参数
    函数-装饰器
    函数-函数递归
    函数-高阶函数
    函数-命名空间
    函数-匿名函数
    模块-shutil
    在 Android 5.1.1 执行 remount system failed 解决方法
  • 原文地址:https://www.cnblogs.com/pinzi/p/15690280.html
Copyright © 2020-2023  润新知