我们正在将在 Citrix 下运行的旧系统从 .NET2/32 迁移到 .NET4/64。现有系统的一部分使用 Seagull Scientific 的一款名为 BarTender 的产品,用于打印条形码。
由于各种限制,我们必须从应用程序中使用 BarTender,但从技术角度来看,我们不能直接从 64 位应用程序调用调酒师控件所包含的 BarTender 32 位(仅限)托管代码。我知道我们必须通过某种方法跨越进程边界,因为两半必须在不同的空间中运行。
遵循关于 Stack 和一般网络的各种建议,我已经尝试以 64 位和 32 位的形式创建中间 COM 对象(即,在 .NET 中创建项目并注册 COM 互操作),看看我是否可以调用这些以提供从 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/ 和这篇文章中的建议
但我不能完全得到结婚的东西。
有什么建议么 ?