【问题标题】:dllimport unable to load the dlldllimport 无法加载 dll
【发布时间】:2009-06-04 10:07:20
【问题描述】:

我发现 Stack Overflow 是我们所有澄清的最佳组之一。我有用 C 编写的本机 dll。我使用 VC++(VS 2008)编译了项目,使用我的 C# 应用程序,我通过 Dllimport 调用了 dll 函数。问题是它无法加载dll。它说无法加载 dll。

我的 dll 和应用程序都已从 x86 编译到 x64 平台。如果你们能帮我解决这个问题,那就太好了。

有没有可能检查dll没有加载的原因。

提前致谢。

【问题讨论】:

    标签: dll dllimport


    【解决方案1】:

    尝试使用 sysinternal 的进程监视器来查看您的应用程序要从哪里加载 dll。

    LoadLibrary 的 Win32 文档链接到 details,了解它如何搜索 dll。

    【讨论】:

      【解决方案2】:

      我曾经在这些方面遇到过问题。我有一个 C++ DLL,它充当硬件的接口,我需要从 C# 调用它。但是,如果没有插入硬件,则会导致 DllImport 调用失败。这是因为 DLL 初始化函数返回失败,所以 C# 只是说它无法加载 DLL,可能与 where 无关DLL 是。

      检查当您在 C 代码中设置 DLL 时没有导致某种错误。

      【讨论】:

        【解决方案3】:

        Dependency Walker 是分析 dll 用于加载的内容的好工具。 对于本机可执行文件,它也可以加载 exe 并使用“配置文件”菜单项 甚至显示使用延迟加载加载的 dll,如果 只是加载了 dll。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-27
          • 1970-01-01
          • 1970-01-01
          • 2017-06-26
          • 2012-01-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多