le système que je travaille avec se compose de:Appel aC# .dll de C++ natif du code visuel
- Une application front-end écrit en VB très probablement ou bien VC++ (ne sais pas, n » t et ne peut pas avoir les sources pour elle)
- un VC++ non géré .dll
- AC# .dll
l'application appelle la première dll, la première dll appelle différentes méthodes de la seconde.
Afin de rendre la première dll capable de voir et d'appeler le code C# J'ai suivi ce guide: http://support.microsoft.com/kb/828736
La seule différence est que je ne suis pas en compilant avec/clr: oldSyntax, si je ne puis changer l'autre compilation dépendante options fait le premier chargement incorrect de DLL à partir de l'application.
Tout se compile facilement; l'ensemble de l'installation a même bien fonctionné initialement, mais après avoir complètement développé mon code à travers les deux DLL, je reçois maintenant une erreur dans l'application. L'erreur est:
Erreur d'exécution '-2147417848 (80010108)': Erreur Automation
L'objet invoqué a déconnecté de ses clients.
Et se produit lorsque la ligne suivante est exécutée dans la première dll:
MyManagedInterfacePtr ptrName(__uuidof(MyManagedClass));
J'ai essayé de reproduire une configuration entièrement fonctionnel mais sans succès.
Des idées sur comment diable j'ai réussi à le faire en premier lieu? Ou alternativement sur d'autres approches pour faire fonctionner les deux DLL ensemble?
Merci d'avance!
Merci pour votre réponse, car pour moi, il était impossible de déboguer l'application appelant la DLL, j'ai fini par réécrire le code C# en C++ non géré. Cela m'a pris quelques jours mais à la fin tout a bien fonctionné. – Spookyone