从C#中的64位exe启动32位dll(第三方)

时间:2016-02-24 16:14:11

标签: c# .net

我对32位dll有运行时依赖性,这将在我的64位exe中用于某些功能。由于这个32位dll是第三方dll并且他们不愿意为我们提供64位dll,解决这个问题的最佳方法是什么。目前我已经考虑过实现新的32位exe来处理这种依赖,它在32位dll和64位exe之间进行通信。

我尝试过的一种方法是创建一个新的32位exe。因此64位进程与32位exe进行通信,而后者又消耗32位dll(第三方)。

对此的任何建议都非常有用。

1 个答案:

答案 0 :(得分:0)

您可以使用Windows Communications Foundation和命名管道绑定使32位EXE成为服务。该服务将引用32位Dll。然后您的64位进程可以与服务进行通信。定义所有数据协定将非常繁琐,因此您可以从dll中提取所需内容。尽管如此,它仍然可以建立一个自己的进程间通信机制。

你确定设计一个使用dll的工作并不比自己实现dll所需的功能困难吗?