You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何追踪输出目录中DLL对应的NuGet包?以BouncyCastle.Crypto.dll为例

查找间接依赖的NuGet包方法

针对你遇到的情况,以下是几种简便的查找方式:

Visual Studio 内置工具

  • 使用依赖关系图:右键解决方案 → 选择"查看依赖关系",在弹出窗口中展开所有项目的依赖树,或直接在搜索框输入BouncyCastle.Crypto快速定位对应的NuGet包。
  • 查看锁定文件:每个采用PackageReference的项目会生成[项目名].csproj.nuget.g.props、[项目名].csproj.nuget.g.targets,或直接查看解决方案根目录的packages.lock.json,搜索BouncyCastle.Crypto即可看到它被哪个直接依赖包引入。

ReSharper 工具

  • 依赖分析功能:在解决方案资源管理器中右键任意项目 → 选择"ReSharper" → "分析" → "查看依赖关系",在分析窗口筛选包含BouncyCastle.Crypto的依赖链,明确上游直接依赖包。
  • 全局搜索DLL关联项:使用ReSharper的全局搜索(快捷键Ctrl+Shift+F)搜索BouncyCastle.Crypto.dll,在结果中找到对应的NuGet包引用记录。

dotnet CLI 命令

  • 列出所有依赖包:在解决方案根目录执行
    dotnet list package --include-transitive
    
    该命令会列出所有直接和间接依赖的NuGet包,搜索BouncyCastle即可找到对应包名和版本。
  • 追踪依赖引入路径:执行
    dotnet msbuild /t:Restore /v:diag
    
    在输出日志中搜索BouncyCastle.Crypto,可追踪到它被哪个上游包引入。
  • 查看包自身依赖(若已知包名):比如已知包为BouncyCastle.NetCore,执行
    dotnet nuget show BouncyCastle.NetCore --dependencies
    
    可验证其依赖关系,但更直接的是用前两个命令定位上游依赖。

另外,也可查看输出目录中BouncyCastle.Crypto.dll的文件属性,部分DLL会在"产品名称"或"公司"字段标注对应的NuGet包名称,不过这种方式并非所有包都适用。

内容的提问来源于stack exchange,提问作者Oleg Oshkoderov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 16:10:24