如何从vb.net中的64位应用程序调用32位仅第三方托管代码

时间:2013-09-27 08:52:28

标签: vb.net migration 64-bit

我们正在将Citrix下运行的旧系统从.NET2 / 32迁移到.NET4 / 64。现有系统的一部分使用来自Seagull Scientific的名为BarTender的产品,用于打印出条形码。

由于各种限制,我们必须使用应用程序中的BarTender,但从技术角度来看,我们不能直接调用酒保控制的BarTender 32bit(仅)托管代码来自我们的64位应用程序。我知道我们必须通过某种方法跨过一个进程边界,因为这两半必须在不同的空间中运行。

在Stack和web上总体上提出了各种建议,我已经走了尝试创建中间COM对象的路线(即,在.NET中创建一个项目并注册COM interop),以64位和32位guises来查看如果我可以调用那些从64到32位提供这种“降级”但是我要么最终绕着圆圈使用tlbimp.exe创建一个64大运行时可调用包装器或使用regasm.exe反过来

我确信这一切都已经完成,但我没有找到完整的指南来描述正确的步骤和适当的工具。

*像这样创建你的64位应用程序。 *通过以下过程执行这些步骤或创建这些中间体 *像这样创建你的32位应用程序。 *将它设置为这样可以调用它。

我们必须在Citrix上以64位运行,因此强制应用程序以32位运行不是一种选择。

我已经看过这篇文章了

http://blog.mattmags.com/2007/06/30/accessing-32-bit-dlls-from-64-bit-code/ 以及这篇文章中的建议

Calling 32bit Code from 64bit Process

但我不能完全结婚。

有什么建议吗?

0 个答案:

没有答案