一、前言 在開發過程中經常有這樣的場景:一個工具性質的代碼會經常被用到,在.net中一般的做法是將這些代碼封裝成一個類庫,讓後需要用到這個功能時直接引入類庫的dll文件,然後就可以直接使用這些代碼了。但是相比於人工的方式引入dll文件,通過nuget來進行包的管理將會更加優雅方便,今天就來向大家介紹 ...
一、前言
在開發過程中經常有這樣的場景:一個工具性質的代碼會經常被用到,在.net中一般的做法是將這些代碼封裝成一個類庫,讓後需要用到這個功能時直接引入類庫的dll文件,然後就可以直接使用這些代碼了。但是相比於人工的方式引入dll文件,通過nuget來進行包的管理將會更加優雅方便,今天就來向大家介紹如何創建自己的nuget包。
二、準備工作
什麼是nuget,引自官方的說法:
對於 .NET(包括 .NET Core),共用代碼的 Microsoft 支持的機制則為 NuGet ,其定義如何創建、托管和使用面向 .NET 的包,並針對每個角色提供適用工具。簡單來說,NuGet 包是具有 .nupkg 擴展的單個 ZIP 文件,此擴展包含編譯代碼 (Dll)、與該代碼相關的其他文件以及描述性清單(包含包版本號等信息)。
簡單理解來說,它就是.net的包管理工具,可以將其類比於前端的npm,java的maven等,有了nuget來幫我們管理包,將大大方便我們的操作。
vs2019的NuGet包管理器截圖:
首先是安裝必要的工具,由於我這裡是在 window 下創建 framework 的包,所以必須先下載nuget.exe,官方文檔地址 -- 安裝nuget客戶端工具,具體環境對應的工具見下圖:
三、開始創建項目
使用vs創建一個最基礎的類庫項目,寫一些基本的代碼,我這裡簡單創建了一個Tools的類庫,寫了一個簡單的calculate計算類。
然後就是配置程式集信息,右鍵項目-屬性,在打開的視窗中選擇“應用程式”標簽里的“程式集信息”按鈕,填寫你的程式集信息,也可以通過項目資源管理器下的Properties下的AssemblyInfo.cs文件直接修改,兩者效果是一樣的,如下圖:
編輯程式集信息主要是為了後面生成nuget包時使用,將會依賴程式集信息生成 nuget 包的描述信息清單文件 *.nuspec。
四、使用nuget客戶端工具生成nuget包
編輯完程式集信息後即可進入項目所在文件夾下打開命令行,使用 nuget.exe spec 命令來生成nuget包的描述信息清單文件 *.nuspec,運行完命令後會發現生成了一個預設的描述清單文件,你也可以進一步對其進行修改:
然後就可以使用打包命令 nuget.exe pack 生成nuget包了:
五、總結
至此nuget包就已經成功創建了,是不是很簡單呢。後續你還可以將生成的 nuget 包發佈到nuget官方網站供其它開發者下載使用,也可以推送到公司的內部私有倉庫,僅供自己公司內部使用。
下回我將教大家如何搭建自己的 nuget 私有倉庫,並將生成的 nuget 包push上去供內部使用,敬請大家關註。