天天看點

.net 學習手冊之--建立自己的nuget包

一、前言

  在開發過程中經常有這樣的場景:一個工具性質的代碼會經常被用到,在.net中一般的做法是将這些代碼封裝成一個類庫,讓後需要用到這個功能時直接引入類庫的dll檔案,然後就可以直接使用這些代碼了。但是相比于人工的方式引入dll檔案,通過nuget來進行包的管理将會更加優雅友善,今天就來向大家介紹如何建立自己的nuget包。

二、準備工作

  什麼是nuget,引自官方的說法:

    對于 .NET(包括 .NET Core),共享代碼的 Microsoft 支援的機制則為 NuGet ,其定義如何建立、托管和使用面向 .NET 的包,并針對每個角色提供适用工具。簡單來說,NuGet 包是具有 .nupkg 擴充的單個 ZIP 檔案,此擴充包含編譯代碼 (Dll)、與該代碼相關的其他檔案以及描述性清單(包含包版本号等資訊)。

  簡單了解來說,它就是.net的包管理工具,可以将其類比于前端的npm,java的maven等,有了nuget來幫我們管理包,将大大友善我們的操作。

  vs2019的NuGet包管理器截圖:

.net 學習手冊之--建立自己的nuget包

  首先是安裝必要的工具,由于我這裡是在 window 下建立 framework 的包,是以必須先下載下傳nuget.exe,官方文檔位址 -- 安裝nuget用戶端工具,具體環境對應的工具見下圖:

.net 學習手冊之--建立自己的nuget包

三、開始建立項目

  使用vs建立一個最基礎的類庫項目,寫一些基本的代碼,我這裡簡單建立了一個Tools的類庫,寫了一個簡單的calculate計算類。

  然後就是配置程式集資訊,右鍵項目-屬性,在打開的視窗中選擇“應用程式”标簽裡的“程式集資訊”按鈕,填寫你的程式集資訊,也可以通過項目資料總管下的Properties下的AssemblyInfo.cs檔案直接修改,兩者效果是一樣的,如下圖:

.net 學習手冊之--建立自己的nuget包
.net 學習手冊之--建立自己的nuget包
.net 學習手冊之--建立自己的nuget包

  編輯程式集資訊主要是為了後面生成nuget包時使用,将會依賴程式集資訊生成 nuget 包的描述資訊清單檔案 *.nuspec。

四、使用nuget用戶端工具生成nuget包

  編輯完程式集資訊後即可進入項目所在檔案夾下打開指令行,使用 nuget.exe spec 指令來生成nuget包的描述資訊清單檔案 *.nuspec,運作完指令後會發現生成了一個預設的描述清單檔案,你也可以進一步對其進行修改:

  

.net 學習手冊之--建立自己的nuget包
.net 學習手冊之--建立自己的nuget包

  然後就可以使用打包指令 nuget.exe pack 生成nuget包了:

.net 學習手冊之--建立自己的nuget包

五、總結

  至此nuget包就已經成功建立了,是不是很簡單呢。後續你還可以将生成的 nuget 包釋出到nuget官方網站供其它開發者下載下傳使用,也可以推送到公司的内部私有倉庫,僅供自己公司内部使用。

  下回我将教大家如何搭建自己的 nuget 私有倉庫,并将生成的 nuget 包push上去供内部使用,敬請大家關注。