前言
上篇,我們已經講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,在攔截器中調用修復方法即可。
最最最最最后,附上本次文章所用到的全部源代碼。
好了,教程到此結束了,歡迎各路大佬指教完善!