J'ai un projet C++ et un projet C#. Le projet C# accède aux méthodes du projet C++ via 2 dll interop appelé interop.X.dll et interop.XCom.dll. Lorsque mon projet C++ est reconstruit, il crée les fichiers X.tlb et XCom.tlb. Il crée également les fichiers x_i.c, x_h.h, xCom_i.c, xCom_h.c. J'ai trouvé que les fichiers sont créés en raison des paramètres du projet dans "propriétés de configuration -> MIDL -> sortie", comme indiqué ci-dessous;Créer une DLL interop à partir du fichier .tlb
Ce que je dois savoir comment créer les 2 dlls Interop, qui ne soit pas automatiquement créé à l'aide du .tlb et d'autres fichiers c. J'ai essayé d'utiliser tlbimp x.tlb /out:Interop.x.dll
, mais la DLL créée ne semble pas fonctionner.
Merci.
Pourquoi ne pas simplement les références TLB by-pass et au lieu simplement ajouter une référence COM directe? – MickyD
Les projets n'ont pas été créés par moi. Donc je ne veux pas trop les changer. – Madz
Huh? L'ajout d'une référence COM à partir de .NET vers votre bibliothèque COM nécessite ** zero change ** sur le projet COM. Quoi qu'il en soit, je pensais que VS a créé les DLL d'interopérabilité lorsque vous ajoutez une référence COM? – MickyD