使用一個文件集中管理你的 Nuget 依賴版本號

在 .net 7 以前,項目對于 nuget 依賴項的版本依賴散落與解決方案的各個角落。這導(dǎo)致升級維護和查看的時候都比較麻煩。在 .net 7 中,你可以使用一個文件來集中管理你的 Nuget 依賴版本號。本篇文章將介紹如何使用這個功能。
為什么需要這個功能
通過單文件控制 Nuget 依賴版本號。那么你就可以:
統(tǒng)一查看
升級的時候只要該這一個地方
統(tǒng)一版本號,至少不會忘記升級某個項目
怎么操作呢
修改 Directory.Build.props
在你的項目根目錄下創(chuàng)建一個 Directory.Build.props
文件,然后添加以下內(nèi)容:
Bilibili 代碼塊無法正常渲染,因此無法正常顯示。請關(guān)注微信公眾號“newbe技術(shù)專欄”,搜索對應(yīng)文章代碼內(nèi)容。

這樣就啟用了這個功能。
創(chuàng)建一個 Directory.Packages.props 文件
在你的項目根目錄下創(chuàng)建一個 Directory.Packages.props
文件,然后添加以下內(nèi)容:
Bilibili 代碼塊無法正常渲染,因此無法正常顯示。請關(guān)注微信公眾號“newbe技術(shù)專欄”,搜索對應(yīng)文章代碼內(nèi)容。

這個文件就是你的 Nuget 依賴版本號的集中管理文件。其中的寫法除了 PackageVersion
元素外,其他的都是 Nuget 的寫法。你可以在這個文件中添加你的 Nuget 依賴版本號。
再次注意,這里是 PackageVersion
而不是 PackageReference
。
修改你的項目文件
在你的項目文件中,你可以通過以下方式來引用 Nuget 依賴:
Bilibili 代碼塊無法正常渲染,因此無法正常顯示。請關(guān)注微信公眾號“newbe技術(shù)專欄”,搜索對應(yīng)文章代碼內(nèi)容。

該文件和以前的寫法是一樣的。但是你不需要再指定版本號了。
這樣你就可以通過 Directory.Packages.props
來集中管理你的 Nuget 依賴版本號了。
如果我是 .net 7 以前的版本那怎么辦
實際上在 .net 7 之前,你也可以通過因為額外的 Sdk 來實現(xiàn)這個功能。
Microsoft.Build.CentralPackageVersions1
總結(jié)
通過這個功能,你可以集中管理你的 Nuget 依賴版本號。這樣你就可以統(tǒng)一查看,升級的時候只要該這一個地方,統(tǒng)一版本號,至少不會忘記升級某個項目。
參考
Central Package Management (CPM)2
Directory.Build.props3
感謝您的閱讀,如果您覺得本文有用,快長按右下角大拇指??為本文點贊~
歡迎關(guān)注作者的微信公眾號“newbe技術(shù)專欄”,獲取更多技術(shù)內(nèi)容。

本文作者: newbe36524
本文鏈接: https://www.newbe.pro/Others/0x025-Use-one-file-to-centrally-manage-your-Nuget-dependency-version-numbers/
版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協(xié)議。轉(zhuǎn)載請注明出處!
https://github.com/microsoft/MSBuildSdks/tree/main/src/CentralPackageVersions?
https://learn.microsoft.com/nuget/consume-packages/central-package-management?WT.mc_id=DX-MVP-5003606?
https://learn.microsoft.com/visualstudio/msbuild/customize-your-build?view=vs-2022&WT.mc_id=DX-MVP-5003606#directorybuildprops-and-directorybuildtargets?