從一次解決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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM