首页 > 其他分享 >使用一个文件集中管理你的 Nuget 依赖版本号

使用一个文件集中管理你的 Nuget 依赖版本号

时间:2023-02-24 08:44:44浏览次数:57  
标签:文件 依赖 版本号 Nuget 集中管理 Directory

在 .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 依赖版本号。这样你就可以统一查看,升级的时候只要该这一个地方,统一版本号,至少不会忘记升级某个项目。

参考

感谢阅读,如果觉得本文有用,不妨点击推荐

标签:文件,依赖,版本号,Nuget,集中管理,Directory
From: https://www.cnblogs.com/newbe36524/p/0x025-Use-one-file-to-centrally-manage-your-Nuget-dep

相关文章

  • NuGet安装命令
    Install-PackageMicrosoft.EntityFrameworkCoreInstall-PackageMicrosoft.EntityFrameworkCore.SqlServerInstall-PackageMicrosoft.EntityFrameworkCore.DesignInstall......
  • .NetCore自定义模板,发布Nuget
    1.创建模板项目框架             2.创建模板文件在项目文件夹根目录创建.template.config文件夹,在文件夹下创建新的文件:template.json  ......
  • Mysql的版本号实现可重复读
    mysql基于乐观锁原理实现的mvcc(Multi-VersionConcurrencyControl,多版本并发控制)mysql默认隔离级别就是可重复读,这个隔离级别解决了不可重复读和脏读,所谓不可重复读就是......
  • 如何制作一个专业的NuGet包?手把手教!超级详细!绝对能学会!
    目录一,在NuGet上创建并获取APIKeys1.首先需用登录,直接用微软账户登录即可2.点击右上角菜单APIKeys,创建Key3.填写信息4.获取Key二,创建项目1.创建项目2.生成dll......
  • NuGet Package Explorer
    现代VisualStudio下的开发,大家一定用过,或者听说过nuget,不知道的可以去面壁了。代码写多了,经验越来越丰富,但人越来越懒,是啊,谁愿意重复造轮子?谁又愿意陷入版本管理的地狱?......
  • NuGet私有服务器ProGet Docker搭建和公司中实战用法
     一、什么时候需要用到NuGet私有服务器很多公司中架构师会搭建一个统一的项目基础架构模板,然后全部新项目都会拿这个基础架构来开发新的项目,那架构中就会有很多的中......
  • 使用Github Actions构建、发布和部署NuGet软件包
    介绍在DevOps的现代时代,自动化已变得越来越流行,而创建/上传软件包已成为过去。而且,软件包的数量在开发人员的生活中日益增加。因此,在NuGet.org上手动构建、发布和部署所有......
  • 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    .net6之后,不会随项目生成packages文件夹,将项目拷贝到无联网的电脑上用VS打开时,会出现nuget还原失败的情况,只需要把原电脑中的用户文件夹下的.nuget文件夹拷贝过去,放到对应......
  • 前端APP版本号对比判断是否需要更新
    functioncompareVersion(newVersion,currentVersion){constv1=newVersion.split('.');constv2=currentVersion.split('.');......
  • GitLab CICD Day 17 - Image递增版本号 - 2
    新增build版本号variables:user:ericpwd:Admin@1234harbor:http://172.16.128.215:8080image_hellocat:172.16.128.215:8080/hive/hellocatstages:-testing......