[Visual Studio]NuGet02-佈署套件到NuGet Server-NuGet Package Explorer

前一篇,介紹了建置自有的NuGet Server,在這一篇要把我們開發好的元件佈署到NuGet server上,給需要引用的專案使用

本文範例使用Visual Studio 2017

使用NuGet Package Explorer 打包與佈署套件

NuGet Package Explorer - 按此下載
NuGet Package Explore提供了方便好用的GUI讓你打包你的組件,適合一次性發布組件使用

下載安裝完成後,打開會如下圖,選擇新建套件

開啟之後,左邊的選項可以設定一些資訊,例如Id、Version、Title…等等,比較重要的是Version(版號),套件上傳時,都要有新版號,有新版號在引用專案那邊才會知道有新的套件可以更新

右邊的視窗按右鍵,可以加入自己做好的組件,還有一些選項可以設定

  • Add New File:加入新檔案至套件中
  • Add Existing File:將既有檔案加入套件中
  • Add New Folder:加入新的資料夾

各個資料夾的功用:

  • Content Folder:要加到專案內的檔案,要放置這個資料夾下
  • lib Folder:要實際加到專案參考內的檔案,要放置這個資料夾下
  • Tools Folder:放置一些script,在套件剛安裝或是解除安裝的時候執行
  • Build Folder:可以放置給MSBuild使用的target和property
  • Src Folder:要加到專案內的原始檔,要放置這個資料夾下

我先準備一個簡單的類別庫,內容如下圖

把這個類別庫加入到我的套件中

接著要把這個做好的套件佈署上NuGet server,佈署之前要先儲存。之後在工具列的File,選擇publish
填入

  1. NuGet server的位置
  2. NuGet server的認證api key
    確定好之後按publish

回到NuGet server 首頁的packages,有出現metadata就是有上傳成功

Visual Studio 加入NuGet server設定

接下來要回到Visual Studio,設定NuGet server的位址,讓我們的專案可以抓到我們自製的套件

在Visual Studio的工具->選項,找到NuGet 套件封裝管理員的套件來源,新增我們建好的NuGet server位址

接著新增一個專案,在NuGet套件管理視窗,套件來源就可以選擇自建的NuGet server,同時也會列出有什麼套件可以安裝

剛剛把類別庫的dll放進lib資料夾,所以一安裝套件就會自動幫我們參考了,在程式中就可以使用

我更新類別庫dll,再新增一個method,版號變更為1.0.1版,然後重複上面提到的打包套件步驟,在NuGet套件管理就會看到新版本的套件了,同時也可以隨時退版

不過使用NuGet Package Explore打包與佈署套件稍嫌麻煩,每一次更新版本都要建置好dll之後去操作GUI打包,實在是有點惱人,下一篇文章會介紹如何使用類別庫專案直接建置成功後佈署到NuGet server,使用上比較方便。