zoukankan      html  css  js  c++  java
  • 从一次解决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

  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/pinzi/p/15690280.html
Copyright © 2011-2022 走看看