In un progetto VC++, sto cercando di creare un'istanza (tramite COM) di una classe C# contenuta in un progetto C#.Errore di classe non registrato per l'istanziazione dell'oggetto C# tramite COM da VC++
fatti
- Sia il C# e C++ progetti vengono compilati usando .NET 4.0
- Il C# DLL viene registrata utilizzando regasm/codebase "CSharpProjectName.dll"", e le finestre prompt dei comandi rapporti, "Tipi registrato con successo."
- nel C++ del progetto, tento di creare un'istanza di una classe nel progetto C#, ma ottengo un HRESULT di 0x80040154 - classe non registrata
Ecco un esempio del mio tentativo di creare un'istanza dell'oggetto .NET da C# .dll. La classe concreta che sto cercando di istanziare si chiama dipendenti, che per il bene di presentare la mia domanda semplice, implementa l'interfaccia IPerson:
CSharpProjectName::IPersonPtr pPersonPtr;
HRESULT hr = pPersonPtr.CreateInstance(CSharpProjectName::CLSID_Employee);
Perché mi appare un errore di "classe non registrata" anche se ho registrato il C# .dll che usa "regasm/codebase" e conferma l'esistenza della chiave nel registro?
Qualsiasi aiuto sarebbe molto apprezzato. Grazie!
Ho questo problema esatto! – TinyRacoon