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.0
net9.0/win-x64
。win-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