【问题标题】:How to reference a 32-bit dll in a 64-bit vb.net windows application如何在 64 位 vb.net windows 应用程序中引用 32 位 dll
【发布时间】:2020-05-29 22:02:44
【问题描述】:

我们正在 vb.net 中开发一个 Windows 窗体应用程序,该解决方案中有 400 多个项目,并且构建在 64 位架构中。现在,我们有一个具有 32 位架构的 c++ 类型的外部 dll,我们可以在我们的应用程序中引用它,但会抛出这样的错误

“试图加载格式不正确的程序。(来自 hresult 的异常:0x8007000в)”

我是否可以在不将所有 400 个项目更改为 32 位架构的情况下运行应用程序并引用 dll?

【问题讨论】:

  • 这个dll有什么作用?
  • Winforms 应用程序中的 400 个项目???主啊,我的好奇心被激发了。

标签: c++ vb.net exception dll dllimport


【解决方案1】:

您不能在 64 位进程中加载​​ 32 位 DLL。

您需要实现一个 32 位 EXE 进程来托管 DLL,并发明一种 IPC 机制来代理对其的调用。进程外的COM EXE 似乎是可能的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-11
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 2011-01-16
    • 2021-03-10
    • 2012-03-06
    相关资源
    最近更新 更多