列出给定.NET Core项目/解决方案中所有具有“递归依赖项”的NuGet包,使用VS2017。

38

我想列出所有的NuGet软件包及其递归依赖关系。 项目使用VS2017和.NET Core。

我尝试过使用Get-Package -ProjectName "Your.Project.Name"命令,它会显示项目中的所有NuGet软件包。 我希望还能打印出所有的依赖关系。


2
嗨,Pavan,请查看此文档:https://github.com/NuGet/Home/wiki/dotnet-list-package,我们可以使用选项:--include-transitive在结果中显示传递包,但是list package命令仅适用于具有包引用项目的dotnet命令行。对于nuget.exe和package config项目的支持将在以后的版本中推出。对于nuget.exe,我们仍然无法使用它来列出nuget包及其依赖项。现在我们只能使用Get-Package来列出所有已安装的nuget包,不包括依赖项,对此造成的不便请谅解。 - Sara Liu - MSFT
1个回答

52

您可以使用dotnet cli:dotnet list package --include-transitive。 dotnet-outdated全局工具可能具有类似的功能。


8
这很好,但是它将包显示为两个类别之一:显式或传递。我想要一个工具,可以显示传递依赖关系的有向图/树形结构。 - Tim Sparkles
8
你需要解析项目的 project.assets.json 文件并自己创建图形。我不知道是否有任何工具可以替你完成。如果你能创建这样的工具并将其发布为 dotnet 工具,你将成为世界领袖! :) - zivkan
1
@zivkan 感谢指出 project.assets.json - 尽管它通常是一个很长的文本文件且不太用户友好,但在我需要解决依赖问题的极少数情况下,只需使用Notepad++在其中找到文本即可回答问题。 - Mr. TA
有没有通过用户界面查看包裹或搜索包裹的方式? - Deepak paramesh
有没有一种界面的方式可以查看或搜索软件包? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接