2014-07-22 7 views
0

J'ai un dll donné par un fournisseur que 4.0 cadre et je suis sur 3.5. Le vendeur m'a dit que la dll expose l'interface com, donc je devrais être capable de l'utiliser. J'ai à la fois un fichier .dll et .tlb. Après avoir fait quelques recherches, j'ai essayé d'utiliser TlbImp mais cela me donne une erreur.TlbImp ne fonctionne pas

Le cmd TlbImp.exe myDll.dll dit que ce n'est pas une bibliothèque de types valide.
Le fichier cmd TlbImp.exe myDll.tlb indique que la bibliothèque a été assemblée à partir d'un assemblage CLR et ne peut pas être ré importée en tant qu'ensemble CLR.

Des idées sur le problème ou une autre approche que je peux utiliser pour espérer avoir accès aux commandes de C# 08? Merci!

+0

Essayez-vous d'utiliser un composant .NET 4 dans une application .NET 3.5? Je ne comprends pas l'implication de COM/TLB ici, pouvez-vous clarifier? – JohnD

+0

Oui, la DLL est dans .NET4 mais j'essaie d'utiliser dans une application .NET 3.5. Selon le vendeur, cela devrait fonctionner car il expose l'interface com. Je n'ai jamais eu à le faire auparavant, donc je ne sais pas exactement comment le faire. Il semble que TlbImp créerait une DLL que je pourrais utiliser dans .NET 3.5 mais je ne suis pas sûr. – user3646105

+0

Ok, je comprends. Vous voudrez peut-être lire cette réponse SO: http://stackoverflow.com/questions/2382927/can-i-use-a-net-4-0-library-in-a-net-2-0-application - - Ils sont dans une situation similaire à vous. Cependant, je pense que l'approche préférée serait de mettre à jour votre application vers .NET 4.x, si cela est possible. – JohnD

Répondre