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

标签 c# nuget typeinitializeexception typeinitializer typeinitializationexception

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

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

我尝试运行我的程序,但抛出了一个异常,表明我缺少一个包。我安装了该软件包并且不再出现该错误。但是,我确实收到一条错误消息:

The type initializer for 'SomeStaticClass' threw an exception

我怀疑我仍然缺少一些引用资料。有关如何找出我缺少哪些引用资料或 NuGet 包的任何想法吗?

最佳答案

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

它集成到 Windows 资源管理器中,因此您可以右键单击托管 DLL/EXE,然后将弹出上下文菜单,并为您提供“仅反编译打开”选项。此时,将弹出一个 UI 并显示你它引用的一切:托管和 native 库:

Just Decompile

因此您可以在此处看到“LCCShell.exe”依赖于几个无法解析的托管库。我需要弄清楚如何获得这些。大多数时候,我需要在 Nuget 中找到命名空间。它还向您展示了 native 库,这非常方便。

关于c# - 是否有工具或策略可以找出项目需要引用的所有 .dll 和 nuget 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63715615/

相关文章:

c# - 更新通过 CD 安装的 ClickOnce 应用程序时出现 TrustNotGrantedException

nuget - 当可移植和不可移植类库都存在时,NuGet 如何解析引用?

c# - System.TypeInitializationException : The type initializer for 'MyApp.Core.App' threw an exception

wpf - MVVM模式中的TypeInitializationException

c# - 在 C# 中批量更新

c# - AddSingleton 与异步调用?

c# - 我如何在 C# 中使用 mysql 验证数据库中的现有用户名

azure - Autorest生成需要beta包的Client Sdk

.net - 已使用 '.NETFramework,Version=v4.6.1'而不是项目目标框架'恢复了

c# - 如何避免 TypeInitializer 异常?