在 VC++ 项目中,我试图创建 C# 项目中包含的 C# 类的实例(通过 COM)。
事实
- C# 和 C++ 项目均使用 .NET 4.0 编译
- 正在使用regasm /codebase "CSharpProjectName.dll" " 注册 C# .dll,并且 Windows 命令提示符报告“类型注册成功。”
- 在 C++ 项目中,我尝试在 C# 项目中创建一个类的实例,但我得到一个0x80040154 的 HRESULT - 类未注册
这是我尝试从 C# .dll 创建 .NET 对象实例的示例。我试图实例化的具体类称为 Employee,为了简单地提出我的问题,它实现了 IPerson 接口:
CSharpProjectName::IPersonPtr pPersonPtr;
HRESULT hr = pPersonPtr.CreateInstance(CSharpProjectName::CLSID_Employee);
为什么即使我使用“regasm /codebase”注册了 c# .dll 并确认注册表中存在该键,我也会收到“类未注册”错误?
任何帮助将不胜感激。谢谢!