如何为64位应用程序注册.NET DLL
How do I register a .NET DLL for 64-bit application
我有一个64位应用程序,它使用.NET DLL,并且从CoCreateInstance()返回一个错误,说"class not registered"。(0x80040154)
现在,作为一个32位应用程序,它已经运行了很长一段时间,并且调用.NET DLL没有问题,它在安装过程中注册,或者在我的开发机器上,在构建过程中注册。最近转换为64位的应用程序已开始导致此错误(应用程序的其余部分现在运行良好,为64位,因此没有其他问题)。
该应用程序是非托管C++。DLL由C#、.NET 2.0管理,并设置为"任意CPU"。两者都是在VS2010中构建的。我的安装包使用Regasm来注册DLL,我想知道我是否需要Regasm的64位版本,然而,我相信我已经在使用它了。Visual Studio也被设置为在生成过程中注册DLL,但即使在调试器中运行64位程序也无法找到该类。
我需要做什么来注册DLL,以便64位版本的程序可以通过CoCreateInstance()找到DLL?
您的安装程序可能使用来自的32位regasm
C:WindowsMicrosoft.NETFrameworkv4.0.30319RegAsm.exe
但它应该使用64位regasm:
C:WindowsMicrosoft.NETFramework64v4.0.30319RegAsm.exe
相关文章:
- 无法将结构注册为增强几何体3D点
- 如何使用AngelScript注册SFML Vector2运算符
- 在遍历处理程序的向量时注册和注销处理程序
- 有没有任务栏API可以立即应用注册表更改
- 使用QJsEngine在Qt中注册自定义类型
- 检查注册表项是否链接到(或副本)另一个注册表项
- 在 C++/CLI 中将 .NET 事件从一个 DLL 引发到另一个 DLL
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 如何使用 TStyleManager::UnRegisterStyle() 取消注册样式
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- SFML 碰撞永远不会在我的系统中注册
- 尝试从C++访问 UWP 的电子邮件邮件类会导致"REGDB_E_CLASSNOTREG类未注册"错误
- 用于创建/注册虚拟存储设备的 IOKit 驱动程序
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 如何添加预防措施以绕过未注册Microsoft.ACE.OLEDB.12.0?
- 是否可以在Linux上使用.Net Core 3.1创建C++/CLI代码的C#DLL
- 进程外 EXE 的免注册 COM
- Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存
- 如何为64位应用程序注册.NET DLL
- 一个C++客户端无法使用我们新的 COM 注册的 .NET .dll加载,另一个客户端可以正常工作