從一次解決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,在攔截器中調用修復方法即可。

最最最最最後,附上本次文章所用到的全部源程式碼。

GitHub

Gitee

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