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.dll
i 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
- Verktyg
- Tlbexp.exe (typbiblioteksexportör)
- Importera ett typbibliotek som en sammansättning
- Skriv bibliotek till sammanfattning av sammansättningskonvertering
- Ildasm.exe (IL Disassembler)
- Sn.exe (starkt namnverktyg)
- Starka namngivna sammansättningar
- Attribut för att importera typbibliotek till Interop-sammansättningar
- Kommandoradsgränssnitt för utvecklare