Dela via


Tlbimp.exe (typbiblioteksimportör)

Importören för typbibliotek konverterar de typdefinitioner som finns i ett COM-typbibliotek till motsvarande definitioner i en gemensam språkkörningssammansättning. Utdata från Tlbimp.exe är en binär fil (en sammansättning) som innehåller körningsmetadata för de typer som definierats i det ursprungliga typbiblioteket. Du kan undersöka den här filen med verktyg som Ildasm.exe.

Det här verktyget installeras automatiskt med Visual Studio. Om du vill köra verktyget använder du Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell.

Skriv följande vid kommandotolken:

Syntax

tlbimp tlbFile [options]  

Parametrar

Argument beskrivning
tlbFile Namnet på en fil som innehåller ett COM-typbibliotek.
Alternativ Description
/asmversion: versionnumber Anger versionsnumret för sammansättningen som ska skapas. Ange versionsnummer i formatet major.minor.build.revision.
/företag: companyinformation Lägger till företagsinformation i utdatasammansättningen.
/upphovsrätt: copyrightinformation Lägger till copyrightinformation i utdatasammansättningen. Den här informationen kan visas i dialogrutan Filegenskaper för sammansättningen.
/delaysign Anger att Tlbimp.exe för att signera den resulterande sammansättningen med ett starkt namn med fördröjd signering. Du måste ange det här alternativet med alternativet /keycontainer:, /keyfile:eller /publickey: . Mer information om processen för fördröjd signering finns i Fördröj signering av en sammansättning.
/Hjälp Visar kommandosyntax och alternativ för verktyget.
/keycontainer: containername Signerar den resulterande sammansättningen med ett starkt namn med hjälp av det offentliga/privata nyckelparet som finns i nyckelcontainern som anges av containername.
/keyfile: filename Signerar den resulterande sammansättningen med ett starkt namn med utgivarens officiella offentliga/privata nyckelpar som finns i filnamnet.
/maskin: machinetype Skapar en sammansättning som riktar sig till den angivna datortypen (mikroprocessor). Datortyper som stöds: x86, x64, Itanium och Agnostic.
/namespace: namespace Anger det namnområde där sammansättningen ska skapas.
/noclassmembers Förhindrar Tlbimp.exe från att lägga till medlemmar i klasser. Detta undviker en potentiell TypeLoadException.
/nologo Undertrycker microsofts startbanderoll.
/out: filename Anger namnet på utdatafilen, sammansättningen och namnområdet där metadatadefinitionerna ska skrivas. Alternativet /out påverkar inte sammansättningens namnområde om typbiblioteket anger det anpassade attributet Gränssnittsdefinitionsspråk (IDL) som uttryckligen styr sammansättningens namnområde. Om du inte anger det här alternativet skriver Tlbimp.exe metadata till en fil med samma namn som det faktiska typbiblioteket som definierats i indatafilen och tilldelar det ett .dll-tillägg. Om utdatafilen har samma namn som indatafilen genererar verktyget ett fel för att förhindra att typbiblioteket skrivs över.
/primär Genererar en primär interop-sammansättning för det angivna typbiblioteket. Information läggs till i sammansättningen som anger att utgivaren av typbiblioteket producerade sammansättningen. Genom att ange en primär interop-sammansättning särskiljer du en utgivares sammansättning från andra sammansättningar som skapas från typbiblioteket med hjälp av Tlbimp.exe. Du bör bara använda alternativet /primary om du är utgivare av det typbibliotek som du importerar med Tlbimp.exe. Observera att du måste signera en primär interop-sammansättning med ett starkt namn. Mer information finns i Primära Interop-sammansättningar.
/produkt: productinformation Lägger till produktinformation i utdatasammansättningen. Den här informationen kan visas i dialogrutan Filegenskaper för sammansättningen.
/productversion: productversioninformation Lägger till information om produktversion i utdatasammansättningen. Det finns inga formatbegränsningar. Den här informationen kan visas i dialogrutan Filegenskaper för sammansättningen.
/publickey: filename Anger filen som innehåller den offentliga nyckel som ska användas för att signera den resulterande sammansättningen. Om du anger alternativet /keyfile: eller /keycontainer: i stället för /publickey:, genererar Tlbimp.exe den offentliga nyckeln från det offentliga/privata nyckelpar som medföljer /keyfile: eller /keycontainer:. Alternativet /publickey: stöder testnyckeln och fördröjer signeringsscenarier. Filen är i det format som genereras av Sn.exe. Mer information finns i alternativet -p för Sn.exe i Verktyget för starkt namn (Sn.exe).
/reference: filename Anger sammansättningsfilen som ska användas för att matcha referenser till typer som definierats utanför det aktuella typbiblioteket. Om du inte anger alternativet /reference importerar Tlbimp.exe automatiskt automatiskt alla externa typbibliotek som typbiblioteket importeras referenser till. Om du anger alternativet /reference försöker verktyget matcha externa typer i de refererade sammansättningarna innan det importerar andra typbibliotek.
/tystnad: warningnumber Undertrycker visningen av den angivna varningen. Det här alternativet kan inte användas med /silent.
/tyst Undertrycker visning av lyckade meddelanden. Det här alternativet kan inte användas med /silence.
/strictref Importerar inte ett typbibliotek om verktyget inte kan matcha alla referenser i den aktuella sammansättningen, de sammansättningar som anges med alternativet /reference eller registrerade primära interop-sammansättningar (PIA).
/strictref:nopia Samma som /strictref, men ignorerar PIA:er.
/sysarray Anger för verktyget att importera ett COM-format SafeArray som en hanterad Array typ.
/tlbreference: filename Anger vilken typbiblioteksfil som ska användas för att matcha typbiblioteksreferenser utan att konsultera registret.

Observera att det här alternativet inte läser in några äldre typbiblioteksformat. Du kan dock fortfarande läsa in äldre typbiblioteksformat implicit via registret eller den aktuella katalogen.
/varumärke: trademarkinformation Lägger till varumärkesinformation i utdatasammansättningen. Den här informationen kan visas i dialogrutan Filegenskaper för sammansättningen.
/transform: transformname Transformerar metadata enligt parametern transformname .

Ange dispret för parametern transformname för att transformera parametrarna [out, retval] för metoder i dispatch-only-gränssnitt (dispinterfaces) till returvärden.

Mer information om det här alternativet finns i exemplen senare i det här avsnittet.
/osäker Skapar gränssnitt utan .NET Framework-säkerhetskontroller. Att anropa en metod som exponeras på det här sättet kan utgöra en säkerhetsrisk. Du bör inte använda det här alternativet om du inte är medveten om riskerna med att exponera sådan kod.
/mångordig Anger utförligt läge. visar ytterligare information om det importerade typbiblioteket.
/VariantBoolFieldToBool Konverterar VARIANT_BOOL fält i strukturer till Boolean.
/? Visar kommandosyntax och alternativ för verktyget.

Kommentar

Kommandoradsalternativen för Tlbimp.exe är skiftlägesokänsliga och kan anges i valfri ordning. Du behöver bara ange tillräckligt med alternativ för att unikt identifiera det. Därför motsvarar /n /nologo och /ou: outfile.dll motsvarar /out: outfile.dll.

Kommentarer

Tlbimp.exe utför konverteringar på ett helt typbibliotek samtidigt. Du kan inte använda verktyget för att generera typinformation för en delmängd av de typer som definierats i ett bibliotek av en enda typ.

Det är ofta användbart eller nödvändigt att kunna tilldela starka namn till sammansättningar. Därför innehåller Tlbimp.exe alternativ för att tillhandahålla den information som krävs för att generera starkt namngivna sammansättningar. Alternativen /keyfile: och /keycontainer: signerar sammansättningar med starka namn. Därför är det logiskt att endast ange ett av dessa alternativ i taget.

Du kan ange flera referenssammansättningar med hjälp av alternativet /reference flera gånger.

På grund av det sätt på vilket Tlbimp.exe genererar sammansättningar går det inte att ommåla en sammansättning till en annan mscorlib version. Om du till exempel vill generera en sammansättning som är avsedd för .NET Framework 2.0 måste Tlbimp.exe som levereras med .NET Framework 2.0/3.0/3.5 SDK användas. För att kunna rikta in sig på .NET Framework 4.x ska Tlbimp.exe som levereras med en .NET Framework 4.x SDK användas.

Ett resurs-ID kan eventuellt läggas till i en typbiblioteksfil när du importerar ett typbibliotek från en modul som innehåller flera typbibliotek. Tlbimp.exe kan bara hitta den här filen om den finns i den aktuella katalogen eller om du anger den fullständiga sökvägen. Se exemplet senare i det här avsnittet.

Exempel

Följande kommando genererar en sammansättning med samma namn som typbiblioteket som finns i myTest.tlb och med tillägget .dll.

tlbimp myTest.tlb

Följande kommando genererar en sammansättning med namnet myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll  

Följande kommando genererar en sammansättning med samma namn som det typbibliotek som anges av MyModule.dll\1 och med tillägget .dll. MyModule.dll\1 måste finnas i den aktuella katalogen.

tlbimp MyModule.dll\1  

Följande kommando genererar en sammansättning med namnet myTestLib.dll på typbiblioteket TestLib.dll. Alternativet /transform:dispret transformerar alla parametrar för metoderna [out, retval] på dispinterfaces i typbiblioteket till returvärden i det hanterade biblioteket.

tlbimp TestLib.dll /transform:dispret /out:myTestLib.dll  

Typbiblioteket TestLib.dlli föregående exempel innehåller en dispinterface-metod med namnet SomeMethod som returnerar void och har parametern [out, retval]. Följande kod är indatatypens biblioteksmetodsignatur för SomeMethod i TestLib.dll.

void SomeMethod([out, retval] VARIANT_BOOL*);  

Om du anger alternativet /transform:dispret Tlbimp.exe att omvandla parametern [out, retval] SomeMethod för till ett bool returvärde. Följande är metodsignaturen som Tlbimp.exe skapar för SomeMethod i det hanterade biblioteket myTestLib.dll när alternativet /transform:dispret har angetts.

bool SomeMethod();  

Om du använder Tlbimp.exe för att skapa ett hanterat bibliotek utan TestLib.dll att ange /transform:dispret skapar verktyget följande metodsignatur för SomeMethod i det hanterade biblioteket myTestLib.dll.

void SomeMethod(out bool x);  

Se även