“为不同的目标平台制作的互操作。”和“ActiveX 未正确注册”
Posted
技术标签:
【中文标题】“为不同的目标平台制作的互操作。”和“ActiveX 未正确注册”【英文标题】:"interops made for a different target platorm." and "ActiveX not properly registered" 【发布时间】:2013-08-26 16:06:35 【问题描述】:感谢您提供的所有帮助...我以前从未见过此错误...我有几个供应商提供的 DLL 用于与签名捕获设备通信。我们在 XP x86 机器上构建我们的 C# windows 应用程序平台目标设置为“任何 cpu”。当应用程序在 Win7 32 位计算机上运行时,它工作正常。当它在 Win7 64 位计算机上运行时,它会失败。
在“调试模式”下在 Win 7 x64 上运行 Visual Studio 2010 调试器工作正常。在 Win7 x64 上以 Release 模式运行失败。
我可以将平台更改为以 x64 为目标,然后发布模式提供“为不同目标平台制作的互操作”。当我删除并重新创建 64 位目标的互操作时,我得到“ActiveX 未正确注册”。
提前谢谢你。
【问题讨论】:
【参考方案1】:确保您的模块不依赖于 32 位库。 使用Dependency Walker 或Fuslogvw.exe 诊断模块加载失败。
要互操作 32/64 位 COM,请参阅 Access x86 COM from x64 .NET
【讨论】:
【参考方案2】:我的解决方案是将 Project->Properties->Build->Platform Target 从“any cpu”更改为“x86”。该应用程序现在可以在 win7 64 位和 32 位以及 XP x86 上运行。
【讨论】:
以上是关于“为不同的目标平台制作的互操作。”和“ActiveX 未正确注册”的主要内容,如果未能解决你的问题,请参考以下文章
vue路由的active-class和exact-active-class区别
Active Directory 和 Active Directory LDS 中的字段
使用 rails 和 active_paypal_adaptive_payment 执行预批准付款