從一次解決Nancy引數繫結“bug”開始釋出自己的第一個nuget包(下篇)

搖曳de風箏發表於2021-12-15

前言

      上篇,我們已經講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

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

 

相關文章