2009-04-22 9 views
0

Je souhaite créer un assembly interop à partir d'une bibliothèque de types à l'aide de l'outil tlbimp.exe inclus dans le kit de développement .NET SDK.Comment puis-je obtenir tlbimp pour ne pas générer automatiquement des assemblys pour les types référencés?

Mon problème est que la bibliothèque de type source fait référence à un type dans une autre bibliothèque que je n'ai pas disponible. Comment puis-je obtenir tlbimp pour ne pas générer automatiquement des assemblys pour les types référencés?

je reçois l'erreur suivante:

 
Resolving reference to type library 'GridEX20'. 
Auto importing 'GridEX20' to 'C:\tmp\GridEX20.dll'. 
TlbImp : error TI0000 : System.Runtime.InteropServices.COMException - Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 

En utilisant Process Monitor je conclus que la bibliothèque GridEX20 se trouve, mais il fait référence à une autre bibliothèque qui est introuvable et tlbimp signale une erreur lorsque cette bibliothèque ne peut pas être a trouvé.

Répondre

0

Vous pouvez essayer l'option/strictref, mais je ne pense pas que cela puisse vous aider.

Je vous suggère d'examiner le GridEX20.dll avec Dependency Walker (pour VS2005, il a été trouvé dans C: \ Program Files \ Microsoft Visual Studio 8 \ Common7 \ Tools \ Bin, mais je ne pense pas qu'il est livré plus - vous pouvez trouver une version here).

Cela devrait vous dire sur quels assemblages la dll dépend - ce qui confirmera au moins si votre hypothèse initiale est correcte.