是否有工具或策略来找出项目需要引用的所有 .dll 和 nuget 包?

Is there a tool or strategy for figuring out all .dll and nuget packages that a project needs to reference?

我正在使用一些在内部引用多个 nuGet 包的第三方 .dll。为了能够使用该第三方 .dll,我需要以某种方式弄清楚我需要安装哪些 NuGet 包。

是否有工具或策略可以帮助我确定缺少哪些 NuGet 包?

我试图 运行 我的程序,但抛出了一个异常,说我缺少一个包。我安装了那个包,不再出现那个错误。但是,我确实收到一条错误消息:

The type initializer for 'SomeStaticClass' threw an exception

我怀疑我仍然遗漏了一些参考资料。关于如何找出我缺少的引用或 NuGet 包的任何想法?

在这种情况下我所做的是使用一个名为“Just Decompile”的工具(有很多这样的工具,这只是我目前使用的一个。)

它集成到 Windows Explorer 中,因此您可以 right-click 在托管 DLL/EXE 上,上下文菜单将弹出并为您提供“仅反编译打开”选项到那时,UI 将弹出并向您显示它引用的所有内容:托管和本机库:

所以你可以在这里看到“LCCShell.exe”依赖于几个无法解析的托管库。我需要弄清楚如何获得这些。大多数时候,我需要在 Nuget 中找到命名空间。它还会向您展示本机库,这真的很方便。