关于c#:使用一个文件集中管理你的-Nuget-依赖版本号

8次阅读

共计 1904 个字符,预计需要花费 5 分钟才能阅读完成。

在 .net 7 以前,我的项目对于 nuget 依赖项的版本依赖散落与解决方案的各个角落。这导致降级保护和查看的时候都比拟麻烦。在 .net 7 中,你能够应用一个文件来集中管理你的 Nuget 依赖版本号。本篇文章将介绍如何应用这个性能。

为什么须要这个性能

通过单文件管制 Nuget 依赖版本号。那么你就能够:

  1. 对立查看
  2. 降级的时候只有该这一个中央
  3. 对立版本号,至多不会遗记降级某个我的项目

怎么操作呢

批改 Directory.Build.props

在你的我的项目根目录下创立一个 Directory.Build.props 文件,而后增加以下内容:

<Project>
    <PropertyGroup>
        <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
    </PropertyGroup>
</Project>

这样就启用了这个性能。

创立一个 Directory.Packages.props 文件

在你的我的项目根目录下创立一个 Directory.Packages.props 文件,而后增加以下内容:

<Project>
    <ItemGroup>
        <PackageVersion Include="xunit" Version="2.4.2"/>
        <PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageVersion>
        <PackageVersion Include="coverlet.collector" Version="3.2.0">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageVersion>
    </ItemGroup>
</Project>

这个文件就是你的 Nuget 依赖版本号的集中管理文件。其中的写法除了 PackageVersion 元素外,其余的都是 Nuget 的写法。你能够在这个文件中增加你的 Nuget 依赖版本号。

再次留神,这里是 PackageVersion 而不是 PackageReference

批改你的我的项目文件

在你的我的项目文件中,你能够通过以下形式来援用 Nuget 依赖:

<Project>
    <ItemGroup>
        <PackageReference Include="xunit" />
        <PackageReference Include="unit.runner.visualstudio" />
    </ItemGroup>
</Project>

该文件和以前的写法是一样的。然而你不须要再指定版本号了。

这样你就能够通过 Directory.Packages.props 来集中管理你的 Nuget 依赖版本号了。

如果我是 .net 7 以前的版本那怎么办

实际上在 .net 7 之前,你也能够通过因为额定的 Sdk 来实现这个性能。

Microsoft.Build.CentralPackageVersions1

总结

通过这个性能,你能够集中管理你的 Nuget 依赖版本号。这样你就能够对立查看,降级的时候只有该这一个中央,对立版本号,至多不会遗记降级某个我的项目。

参考

  • Central Package Management (CPM)2
  • Directory.Build.props3

感谢您的浏览,如果您感觉本文有用,快点击下方点赞按钮👍,让更多的人看到本文。

欢送关注作者的微信公众号“newbe 技术专栏”,获取更多技术内容。

  • 本文作者:newbe36524
  • 本文链接:https://www.newbe.pro/Others/0x025-Use-one-file-to-centrally-manage-your-Nuget-dependency-version-numbers/
  • 版权申明:本博客所有文章除特地申明外,均采纳 BY-NC-SA 许可协定。转载请注明出处!

  1. https://github.com/microsoft/… ↩
  2. https://learn.microsoft.com/n… ↩
  3. https://learn.microsoft.com/v… ↩
正文完
 0