本文适用于: ✔️.NET 8.0.4xx SDK 及更高版本
Name
dotnet nuget why- 显示特定包的依赖项关系图。
Synopsis
dotnet nuget why [<PROJECT|SOLUTION>] <PACKAGE> [-f|--framework <FRAMEWORK>]
dotnet nuget why -h|--help
Description
该dotnet nuget why命令显示给定项目或解决方案的特定包的依赖项关系图。
从版本 9.0.200 开始,该命令通过为每个 RID 和框架组合生成单独的依赖项树来引入对运行时标识符(RID)特定包的支持。
例如,如果项目以 RID 为目标net9.0,则命令将为其生成树并生成树win-x64net9.0/win-x64。net9.0
旧项目格式
若要将命令用于无法通过 .NET SDK 还原的项目,可以传递 NuGet 资产文件来代替项目文件(从 .NET 9 SDK 开始):
- 首先,在 Visual Studio 中还原项目或使用
msbuild.exe。 默认情况下,资产文件位于项目的obj\目录中,但可以使用 找到位置msbuild.exe path\to\project.proj -getProperty:ProjectAssetsFile。 - 运行
dotnet nuget why path\to\project.assets.json SomePackage。
Arguments
PROJECT|SOLUTION要对其运行命令的项目或解决方案文件。 如果指定了目录,该命令将搜索项目或解决方案文件的目录。 如果找到多个项目或解决方案,则会引发错误。 如果未提供任何值,则默认使用当前工作目录。
PACKAGE在依赖项关系图中查找的包名称。
选项
-f|--framework <FRAMEWORK>显示依赖项关系图的目标框架。 可以传递多个
--framework选项来查看多个框架的图形。
-?|-h|--help打印出有关如何使用命令的说明。
Examples
显示包“System.Text.Json”的依赖项图:
dotnet nuget why System.Text.Json
显示特定项目的包“System.Text.Json”的依赖项图:
dotnet nuget why path/to/DotnetNuGetWhyPackage.csproj System.Text.Json显示特定目标框架的依赖项关系图:
dotnet nuget why System.Text.Json --framework net6.0