【发布时间】:2012-07-10 21:43:58
【问题描述】:
我需要从 x64 代码访问 x86 dll(第 3 方,无法访问源代码)。我的研究表明,将 dll 放在 COM+ 包装器中并作为 OOP 服务访问是最合适的方法。
到目前为止一切顺利。
因此,请遵循“NET 2.0 互操作性食谱 - 问题解决方法”中的指南(尽管我正在运行 VS2010 和 .NET4)。我构建了一个概念验证服务(dll)并测试客户端(exe),该服务作为服务器应用程序运行为 OOP。它们都可以工作,通过组件服务禁用服务会杀死它,所以它似乎使用了正确的路由。
这一切都在 x86 中。
当我将客户端更改为 x64 时,我得到一个“BadImageFormatException”,如果它只是加载一个 x86 dll,我预计会出现这种情况,但这应该是运行 OOP。
我知道我遗漏了一些东西,这可能很明显。
其他说明:
1) 我运行 regsvcs post build 和 regsvcs /u prebuild 2) 问题dll原样卡住,我的主要代码库必须是x64
【问题讨论】:
标签: c# visual-studio-2010 .net-4.0 com+