.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