【问题标题】:Running a 64bit program referencing a 32bit dll using visual studio - C#使用 Visual Studio 运行引用 32 位 dll 的 64 位程序 - C#
【发布时间】:2016-03-03 13:56:01
【问题描述】:

我目前在引用 32 位 dll 时遇到问题。我尝试将平台更改为 86 位,它工作正常,但要求是使用 64 位或“任何 CPU”。当我使用“任何 CPU”平台时,它以某种方式无法获取 dll

有没有办法在 64 位程序中使用 32 位 dll? 我还读到了一个不清楚的“包装”解决方法......有人可以详细说明

【问题讨论】:

  • 它不是一个简单的包装器。您要么需要 thunking,要么拥有两个独立的进程并使用 IPC 在它们之间进行通信。在这个技能水平上你将无法做到。将 DLL 的位数与应用程序的位数相匹配视为硬性要求。向提供 32 位 DLL 的人询问 64 位版本。

标签: c# wpf dll wrapper


【解决方案1】:

有没有办法在 64 位程序中使用 32 位 dll?

在同一个进程:否。*

但是,您可以通过 Add In Framework(支持进程外工作人员)之类的方式将 dll 托管在单独的子进程中。

* 注意,我假设这个 dll 要么是本机编译的,要么是 .NET,但仅针对 32 位显式编译。

【讨论】:

    猜你喜欢
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 2013-04-11
    • 2015-01-07
    • 1970-01-01
    • 2014-07-18
    相关资源
    最近更新 更多