最近需要做一個小工具去整理出指定資料夾所有使用的第三方套件版本,同時去查詢nuget最新版本號。
拆解步驟大概就是兩個
- 掃出使用套件清單
- 以這個清單查尋nuget最新版本
透過以下語法找出所有 .csproj 檔名的檔案,並找到第三方套件的內容。
我們找一個 csproj 範例如下:
1 | <Project Sdk="Microsoft.NET.Sdk"> |
透過以下語法找到檔案並解析內容:
1 | //找出所有 .csproj 檔案 |
剩下的功能就是查詢 Nuget 取得版本號碼。
由於大部分人的使用都是直接使用 IDE 或 VS 的 package management console 來安裝,幾乎沒有使用 api 去呼叫的需求,這類型的資訊在網路上很少;若是哪天要整理的內容變很多時,手動就感覺特別的沒有效率。 我絕對不會承認官方文件看好久還是看不懂
透過 Package 名稱去查詢版本號碼其實並不太難,在 v3 api 中格式如下:
1 | https://api.nuget.org/v3-flatcontainer/{PackageName}/index.json |
只要把{PackageName}替換成套件名稱即可。而 Nuget 會回傳一個 json 格式資料,我們以查詢 Newtonsoft.Json 套件為例。
Url example: