.NET7 一个实用功能-中央包管理
2023-02-18 16:34:13 时间
依赖管理是 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>
具体效果如下
相关文章
- Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之八(五十七)
- Abp(net core)+easyui+efcore实现仓储管理系统——出库管理之七(五十六)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之六(五十五)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之五(五十四)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之四(五十三)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十二)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之三(五十一)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之二(五十)
- abp(net core)+easyui+efcore实现仓储管理系统——出库管理之一(四十九)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十二(四十八)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十一(四十七)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十(四十六)
- [MySQL] 解决ERROR 1273 (HY000) at line 199: Unknown collation: 'utf8mb4_0900_ai_ci'
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之九(四十五)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之八(四十四)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之七(四十三)
- [css] 加载本地文件出现跨域Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之六(四十二)
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之五(四十一)
- [html] link 标签 rel=canonical 属性的用法