使用NuGet封裝管理員

1.建置時自動封裝

2.上傳NuGet函式庫到MyGet套件庫

3.設定NuGet封裝管理員 

4.更新版本到MyGet套件庫

5.建立含有符號檔的 NuGet 套件

6.建立含有符號檔與原始碼的 NuGet 套件

1.建置時自動封裝

2.上傳NuGet函式庫到MyGet套件庫

先到MyGet的網站登入之後Create New Feed

之後到Feed Details 

透過.NET CLI來上傳已經封裝好的NuGet檔案

dotnet nuget push NetStandard20.1.0.0.nupkg -k 1d3a502d-9d35-4bbe-9d8d-68100e8b18c8 -s https://www.myge t.org/F/demodotnetstandard20200505/api/v2/package

NetStandard20.1.0.0.nupkg=> NuGet檔案的檔名

1d3a502d-9d35-4bbe-9d8d-68100e8b18c8=>  -k 後面接在MyGet Feed Details 裡面看到的API Key

https://www.myge t.org/F/demodotnetstandard20200505/api/v2/package  => -s 要push過去的Source(下圖中的紅框處(3))

下圖中的(1)、(2) 是上傳到MyGet之後,提供給Visual Studio安裝這個Nuget套件用的路徑

執行完成之後

可以到MyGet的頁籤PACKAGE,可以看到剛剛上傳的檔案

點進去之後可以看到他有教學如何安裝,下圖為.Net CLI的安裝方式

 

3.設定NuGet封裝管理員

透過下列圖示可新增設定套件來源(來源如果是在資料夾)

選擇套件來源之後即可看到放在來源端的NuGet安裝檔

來源如果是在剛剛上傳的MyGet Server

網址在 MyGet Server上的Feed Details,看自己的Visual Studio版本是什麼去選擇URL

4.更新版本到MyGet套件庫

修改完程式、版號之後透過指令重新上傳一次

dotnet nuget push NetStandard20.1.0.1.nupkg -k 1d3a502d-9d35-4bbe-9d8d-68100e8b18c8 -s https://www.myge t.org/F/demodotnetstandard20200505/api/v2/package

NetStandard20.1.0.1.nupkg

=> 注意版號要更新、NuGet套件也要重新產生

這時候到MyGet的網站看 PACKAGES 可以看到version已經改為1.0.1

點進去看Package history可以看到已經有兩個版本

回到Visual studio 就可以看到有版本可以更新

5.建立含有符號檔與原始碼的 NuGet 套件

如果要讓使用者在使用NuGet套件遇到問題的時候可以進入到偵測模式

要讓NuGet套件可以包含完整的符號檔(pdb),

甚至可以讓你的NuGet套件包含完整的Source Code,讓Source Code跟著NuGet套件完整的發行出去

手動編輯.NetStandard Library的專案檔(.csproj)

在PropertyGroup 裡面新增IncludeSymbols 設為true

重新建置完成之後就多了一個檔案

要將這個檔案上傳到MyGet 的話,需要到FEED Details頁籤內切換到Symbols(Legacy)

push的指令改為

dotnet nuget push NetStandard20.1.0.1.symbols.nupkg -k 1d3a502d-9d35-4bbe-9d8d-68100e8b18c8 -s https://www.my get.org/F/demodotnetstandard20200505/api/v3/index.json

NetStandard20.1.0.1.symbols.nupkg=> NuGet Symbol檔案的檔名

1d3a502d-9d35-4bbe-9d8d-68100e8b18c8=>  -k 後面接在MyGet Feed Details 裡面看到的API Key

https://www.my get.org/F/demodotnetstandard20200505/api/v3/index.json  => -s 要改為上圖的紅框內指令

上傳完成之後,切回Library的明細,可以看到多了下面symbol 的URL

6.發布含Source Code

在專案檔內新增屬性 <IncludeSource>true</IncludeSource>

編輯版號為V1.0.2之後重新建置,打開symbols的NuGet檔案,可看到裡面多了資料夾src

裡面就有打包所有的Code

再把nupkg檔案以及symbol.nupkg都上傳到MyGet Server

這時候在底下的Source Code頁籤,可以直接瀏覽完整的Source Code