"为不同的目标平台创建的互操作"和"ActiveX 未正确注册"



感谢您的帮助。。。我以前从未见过这个bug。。。我有几个供应商提供的DLL,用于与签名捕获设备对话。我们在XP x86机器上构建了我们的C#windows应用程序平台目标设置为"任何cpu"。当应用程序在Win7 32位计算机上运行时,它可以正常工作。当它在Win7 64位计算机上运行时,它会失败。

在"调试模式"下在Win 7 x64上运行Visual Studio 2010调试器效果良好。在Win7 x64上以发布模式运行失败。

我可以将平台更改为目标x64,然后发布模式提供"为不同的目标平台制作的互操作"。当我删除并重新创建64位目标的互操作时,我会得到"ActiveX未正确注册"。

提前谢谢。

确保模块不依赖于32位的库
使用Dependency Walker或Fusilogvw.exe诊断模块加载失败

要互操作32/64位COM,请参阅从x64.NET 访问x86 COM

我的解决方案是将项目->属性->构建->平台目标从"任意cpu"更改为"x86"。该应用程序现在运行在win7 64位和32位以及XP x86上。

最新更新