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

  • .NET7 一个实用功能-中央包管理已关闭评论
  • 169 次浏览
  • A+
所属分类:.NET技术
摘要

依赖管理是 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>

 

具体效果如下

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