dotnet nuget why

本文适用于: ✔️.NET 8.0.4xx SDK 及更高版本

名称

dotnet nuget why- 显示特定包的依赖项关系图。

摘要

dotnet nuget why <PROJECT|SOLUTION> <PACKAGE> [-f|--framework <FRAMEWORK>]

dotnet nuget why -h|--help

说明

dotnet nuget why命令显示给定项目或解决方案的特定包的依赖项关系图。

从 .NET 9 SDK 开始,可以传递 NuGet 资产文件来代替项目文件,以便将命令用于无法通过 .NET SDK 还原的项目。 首先,在 Visual Studio 中还原项目,或 msbuild.exe。 默认情况下,资产文件位于项目的 obj\ 目录中,但可以使用 找到位置 msbuild.exe path\to\project.proj -getProperty:ProjectAssetsFile。 最后,运行 dotnet nuget why path\to\project.assets.json SomePackage

从版本 9.0.200 开始,该命令通过为每个 RID 和框架组合生成单独的依赖项树来引入对运行时标识符(RID)特定包的支持。 例如,如果项目以 RID 为目标net9.0,则命令将为其生成树并生成树net9.0net9.0/win-x64win-x64

参数

  • PROJECT|SOLUTION

    要对其运行命令的项目或解决方案文件。 如果指定了目录,该命令将搜索项目或解决方案文件的目录。 如果找到多个项目或解决方案,则会引发错误。

  • PACKAGE

    在依赖项关系图中查找的包名称。

选项

  • -f|--framework <FRAMEWORK>

    显示依赖项关系图的目标框架。 可以传递多个 --framework 选项来查看多个框架的图形。

  • -?|-h|--help

    打印出有关如何使用命令的说明。

示例

  • 显示给定解决方案的包“System.Text.Json”的依赖项关系图:

    dotnet nuget why .\DotnetNuGetWhyPackage.sln System.Text.Json
    

    示例:具有多个项目的解决方案

  • 显示单个项目的包“System.Text.Json”的依赖项关系图:

    dotnet nuget why .\DotnetNuGetWhyPackage.csproj System.Text.Json
    
  • 显示特定目标框架的依赖项关系图:

    dotnet nuget why .\DotnetNuGetWhyPackage.csproj System.Text.Json --framework net6.0