In a VC++ project, I am trying to create an instance (via COM) of a C# class contained within a C# project.
Facts
- Both the C# and C++ projects are compiled using .NET 4.0
- The C# .dll is being registered using regasm /codebase "CSharpProjectName.dll"", and windows command prompt reports, "Types registered successfully."
- In the c++ project, I attempt to create an instance of a class in the C# project, but I get an HRESULT of 0x80040154 - class not registered
Here is an example of my attempt to create an instance of the .NET object from the C# .dll. The concrete class I am trying to instantiate is called Employee, which for the sake of presenting my question simply, implements the IPerson interface:
CSharpProjectName::IPersonPtr pPersonPtr;
HRESULT hr = pPersonPtr.CreateInstance(CSharpProjectName::CLSID_Employee);
Why am I getting a "class not registered" error even though I registered the c# .dll using "regasm /codebase" and confirmed existence of the key in the registry?
Any help would greatly be appreciated. Thanks!