删除 NuGet 包中的间接依赖项

Removing indirect dependencies in NuGet Package

我正在构建一个 NuGet 库(.NET 标准),并且我正在使用一些其他 NuGet 依赖项。

它们有其他 my 代码不需要的依赖项(我不使用使用间接依赖项的代码)。

有没有办法从我的包中删除未使用的间接依赖项,这样它会更小?

那些 indirect(或 transitive)依赖项不会成为您的 NuGet 包的一部分。 NuGet 足够聪明,可以检测到这一点并恢复对 nuget restore YourPackage.

的传递依赖性

您可以在使用 dotPeek 等工具打开 nupkg 文件时轻松检查这一点 - 您不会在其中看到瞬态依赖项。

或者让我们以 Newtonsoft.Json: as you can see in the sources 为例,在面向 .NET Standard 1.3 时引用了一堆其他包,例如。 G。 System.Xml.XmlDocument.
但是当查看 inside the package 时,它只是 Json.NET 程序集:

所以你不必担心。