.NET7 一个实用功能-中央包管理

依赖管理是 NuGet 的核心功能。Nuget管理单个项目的依赖关系很容易,只需要每个项目维护自己的Nuget依赖与对应版本。

但是,管理多项目解决方案的依赖关系可能会变得很困难,因为它们的规模和复杂性开始扩大,每个项目依赖的相同的Nuget包的版本可能不同。

在您管理许多不同项目的公共依赖项的情况下,您可以利用 NuGet 的中央包管理功能从一个位置轻松完成所有这些工作。

要开始使用中央包管理,您可以在解决方案的根目录中创建一个 Directory.Packages.props 文件,并将文件中的 ManagePackageVersionsCentrally 属性设置为 true。

在文件内部,您可以使用 <PackageVersion /> 定义包 ID 和版本。

 

<Project>
  <PropertyGroup>
    <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
  </PropertyGroup>
  <ItemGroup>
    <PackageVersion Include="Newtonsoft.Json" Version="12.0.3" />
    <PackageVersion Include="Swashbuckle.AspNetCore" Version="6.3.0" />
    <PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="7.0.0" />
  </ItemGroup>
</Project>

 

 

在解决方案中的子项目中,您可以使用您熟悉和喜爱的<PackageReference />语法来管理包,但不需要设置包的版本。

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.OpenApi"  />
    <PackageReference Include="Swashbuckle.AspNetCore" />
    <PackageReference Include="Newtonsoft.Json" />
  </ItemGroup>

</Project>

 

具体效果如下

 

 

 

 

 

出处:https://mp.weixin.qq.com/s/H8ysc3_DOfl5zUoeFDVOgw

posted on 2023-02-07 11:11  jack_Meng  阅读(233)  评论(0编辑  收藏  举报

导航