首页 > 解决方案 > 如何从类库中引用 nuget 包的子集?

问题描述

我在 .NET 核心中有一个 Web API 项目。默认情况下,它依赖于 Microsoft.AspNetCore.App。

我需要在我拥有的另一个类库项目中访问一些包的依赖项。假设我需要Microsoft.Extensions.Configuration.Abstractions.

Visual Studio 建议我在我的包文件夹中添加对 nuget 下载的 DLL 的引用。这是一种有效的方法吗?还是将其作为类库的单独 nuget 包添加更好?如果首选后一种方法,我怎么知道我应该使用哪个版本?

标签: c#asp.net-corenuget

解决方案


您应该添加对 NuGet 包的引用,该包包含您正在编写的其他库中所需的 API。你应该选择哪个版本?由你决定。一种常见的理念是引用具有所需 API 的最低版本,以便您的库可以在最多的地方使用。任何引用您的库的人仍然可以将版本“提升”到更高版本,并且通常没有问题(例外是发生重大更改时)。

不要直接从磁盘引用 DLL。这会导致诸如源代码控制更复杂(不同机器有不同路径)、依赖管理更复杂(更新依赖没有简单方法)等问题。


推荐阅读