.NET 9 使用新的
Directory.Packages.props
樣版
Intro
之前寫過一篇使用中心化的包版本管理特性,沒看過的朋友可以移步
但是使用起來需要自己手動建立/編輯
Directory.Packages.props
檔,有些麻煩,於是想建立一個
Directory.Packages.props
的樣版,於是提了一個 issue,後面又嘗試提了一個 PR,最近發現之前貢獻的
Directory.Packages.props
樣版已經可以在 .NET 9 Preview 1 使用了~
在一個新計畫想要使用中心化包版本管理時,可以使用這個樣版來建立
Directory.Packages.props
來啟用中心化的包版本管理功能
How to use
新的樣版名稱目前是
packagesprops
類似於
buildprops
dotnet new list
可以檢視原生的樣版列表
執行
dotnet new packagesprops -h
可以看到使用的一些參數
有一個
--inherit
的參數,但是就我看到過的計畫而言,沒有需要用到這個參數的,主要是類似於
Directory.Build.props
一樣,可以繼承上一級的定義
使用範例如下:
新建一個控制台測試套用,之後在計畫根目錄透過
dotnet new packagesprops
來建立
Directory.Packages.props
然後我們添加一個 nuget package 的參照來測試一下,執行
dotnet add package WeihanLi.Common
來添加一個包參照
從輸出結果中我們可以看到有 central package management 的字樣,我們再來看下這個檔和計畫檔來驗證一下
從上面的輸出結果可以看出是符合預期的,計畫檔中只包含包參照,不包含版本資訊,版本定義在了
Directory.Packages.props
檔中
More
如果你也打算為新計畫開啟中心化的版本管理,不妨來試試吧
References
https://github.com/dotnet/sdk/issues/36367
https://github.com/dotnet/sdk/pull/36387