Delen via


Tlbimp.exe (Type Bibliotheekimporteur)

De Type Library Importer converteert de typedefinities in een COM-typebibliotheek naar equivalente definities in een algemene taalruntime-assembly. De uitvoer van Tlbimp.exe is een binair bestand (een assembly) dat runtimemetagegevens bevat voor de typen die zijn gedefinieerd in de oorspronkelijke typebibliotheek. U kunt dit bestand onderzoeken met hulpprogramma's zoals Ildasm.exe.

Dit hulpprogramma wordt automatisch geïnstalleerd met Visual Studio. Als u het hulpprogramma wilt uitvoeren, gebruikt u de Visual Studio Developer-opdrachtprompt of Visual Studio Developer PowerShell.

Typ het volgende bij de opdrachtprompt:

Syntaxis

tlbimp tlbFile [options]  

Parameters

Argument Beschrijving
tlbFile De naam van een bestand dat een COM-typebibliotheek bevat.
Optie Omschrijving
/asmversion: versionnumber Hiermee geeft u het versienummer van de assembly te produceren. Geef versienummer op in de indeling major.minor.build.revision.
/bedrijf: companyinformation Hiermee voegt u bedrijfsgegevens toe aan de uitvoerassembly.
/auteursrecht: copyrightinformation Voegt copyrightgegevens toe aan de uitvoerassembly. Deze informatie kan worden weergegeven in het dialoogvenster Bestandseigenschappen voor de assembly.
/delaysign Hiermee geeft u aan Tlbimp.exe om de resulterende assembly te ondertekenen met een sterke naam met behulp van vertraagde ondertekening. U moet deze optie opgeven met de optie /keycontainer:, /keyfile:, of /publickey. Zie Een assembly uitstellen voor meer informatie over het vertraagde ondertekeningsproces.
/Help Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer.
/keycontainer: containernaam Ondertekent de resulterende assembly met een sterke naam met behulp van het openbare/persoonlijke sleutelpaar dat is gevonden in de sleutelcontainer die is opgegeven door containernaam.
/keyfile: bestandsnaam Ondertekent de resulterende assembly met een sterke naam met behulp van het officiële openbare/persoonlijke sleutelpaar van de uitgever die in de bestandsnaam is gevonden.
/machine: machinetype Hiermee maakt u een assembly die is gericht op het opgegeven machinetype (microprocessor). Ondersteunde computertypen: x86, x64, Itanium en Agnostic.
/naamruimte: naamruimte Hiermee geeft u de naamruimte waarin de assembly moet worden geproduceerd.
/noclassmembers Hiermee voorkomt u dat Tlbimp.exe leden toevoegt aan klassen. Dit voorkomt een potentieel TypeLoadException.
/nologo Onderdrukt de weergave van de opstartbanner van Microsoft.
/out: bestandsnaam Hiermee geeft u de naam van het uitvoerbestand, de assembly en de naamruimte waarin de metagegevensdefinities moeten worden geschreven. De optie /out heeft geen effect op de naamruimte van de assembly als in de typebibliotheek het aangepaste kenmerk Interface Definition Language (IDL) wordt opgegeven waarmee expliciet de naamruimte van de assembly wordt bepaald. Als u deze optie niet opgeeft, schrijft Tlbimp.exe de metagegevens naar een bestand met dezelfde naam als de werkelijke typebibliotheek die is gedefinieerd in het invoerbestand en wijst deze een .dll-extensie toe. Als het uitvoerbestand dezelfde naam heeft als het invoerbestand, genereert het hulpprogramma een fout om te voorkomen dat de typebibliotheek wordt overschreven.
/primair Produceert een primaire interoperabiliteitsassembly voor de opgegeven typebibliotheek. Informatie wordt toegevoegd aan de assembly die aangeeft dat de uitgever van de typebibliotheek de assembly heeft geproduceerd. Door een primaire interoperabiliteitsassembly op te geven, onderscheidt u de assembly van een uitgever van andere assembly's die zijn gemaakt op basis van de typebibliotheek met behulp van Tlbimp.exe. U moet alleen de /primaire optie gebruiken als u de uitgever bent van de typebibliotheek die u importeert met Tlbimp.exe. Houd er rekening mee dat u een primaire interoperabiliteitsassembly met een sterke naam moet ondertekenen. Zie Primaire interop-assembly's voor meer informatie.
/product: productinformation Voegt productinformatie toe aan de uitvoerassembly. Deze informatie kan worden weergegeven in het dialoogvenster Bestandseigenschappen voor de assembly.
/productversion: productversioninformation Hiermee voegt u productversiegegevens toe aan de uitvoerassembly. Er zijn geen opmaakbeperkingen. Deze informatie kan worden weergegeven in het dialoogvenster Bestandseigenschappen voor de assembly.
/publickey: bestandsnaam Hiermee geeft u het bestand met de openbare sleutel dat moet worden gebruikt om de resulterende assembly te ondertekenen. Als u de optie /keyfile: of /keycontainer: opgeeft in plaats van /publickey:, Tlbimp.exe genereert de openbare/persoonlijke sleutelpaar die is geleverd met /keyfile: of /keycontainer:. De optie /publickey: ondersteunt testsleutel- en vertragingsscenario's voor ondertekening. Het bestand heeft de indeling die wordt gegenereerd door Sn.exe. Zie de optie -p van Sn.exe in Strong Name Tool (Sn.exe) voor meer informatie.
/reference: bestandsnaam Hiermee geeft u het assemblybestand dat moet worden gebruikt voor het oplossen van verwijzingen naar typen die buiten de huidige typebibliotheek zijn gedefinieerd. Als u de optie /reference niet opgeeft, Tlbimp.exe automatisch recursief een externe typebibliotheek importeert waarvan de typebibliotheek wordt geïmporteerd. Als u de optie /reference opgeeft, probeert het hulpprogramma externe typen op te lossen in de assembly's waarnaar wordt verwezen voordat andere typebibliotheken worden geïmporteerd.
/stilte: warningnumber Onderdrukt de weergave van de opgegeven waarschuwing. Deze optie kan niet worden gebruikt met /silent.
/stil Onderdrukt de weergave van geslaagde berichten. Deze optie kan niet worden gebruikt met /stilte.
/strictref Importeert geen typebibliotheek als het hulpprogramma niet alle verwijzingen binnen de huidige assembly, de assembly's die zijn opgegeven met de optie /reference , of geregistreerde primaire interop-assembly's (PIA's) niet kunnen oplossen.
/strictref:nopia Hetzelfde als /strictref, maar negeert PIA's.
/sysarray Hiermee geeft u het hulpprogramma voor het importeren van een COM-stijl SafeArray als beheerd Array type.
/tlbreference: bestandsnaam Hiermee geeft u het type bibliotheekbestand dat moet worden gebruikt om typebibliotheekverwijzingen op te lossen zonder het register te raadplegen.

Houd er rekening mee dat deze optie sommige oudere typebibliotheekindelingen niet laadt. U kunt echter nog steeds oudere typebibliotheekindelingen impliciet laden via het register of de huidige map.
/handelsmerk: trademarkinformation Voegt merkinformatie toe aan de uitvoerassembly. Deze informatie kan worden weergegeven in het dialoogvenster Bestandseigenschappen voor de assembly.
/transform: transformname Transformeert metagegevens zoals opgegeven door de parameter transformname .

Geef dispret op voor de parameter transformname om [out, retval] parameters van methoden op dispatch-only interfaces (dispinterfaces) te transformeren naar retourwaarden.

Zie de voorbeelden verderop in dit onderwerp voor meer informatie over deze optie.
/onveilig Produceert interfaces zonder .NET Framework-beveiligingscontroles. Het aanroepen van een methode die op deze manier beschikbaar wordt gesteld, kan een beveiligingsrisico vormen. Gebruik deze optie alleen als u zich bewust bent van de risico's van het blootstellen van dergelijke code.
/breedsprakig Hiermee geeft u uitgebreide modus; geeft aanvullende informatie weer over de geïmporteerde typebibliotheek.
/VariantBoolFieldToBool Converteert VARIANT_BOOL velden in structuren naar Boolean.
/? Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer.

Notitie

De opdrachtregelopties voor Tlbimp.exe zijn niet hoofdlettergevoelig en kunnen in elke gewenste volgorde worden opgegeven. U hoeft alleen voldoende van de optie op te geven om deze uniek te identificeren. Daarom is /n gelijk aan /nologo en /ou: outfile.dll gelijk is aan /out: outfile.dll.

Opmerkingen

Tlbimp.exe voert conversies tegelijk uit op een hele typebibliotheek. U kunt het hulpprogramma niet gebruiken om typegegevens te genereren voor een subset van de typen die zijn gedefinieerd in één typebibliotheek.

Het is vaak handig of nodig om sterke namen toe te wijzen aan assembly's. Daarom bevat Tlbimp.exe opties voor het leveren van de informatie die nodig is om sterk benoemde assembly's te genereren. Zowel het /keyfile: als /keycontainer: opties ondertekenen assembly's met sterke namen. Daarom is het logisch om slechts één van deze opties tegelijk te leveren.

U kunt meerdere referentieassembly's opgeven met behulp van de optie /reference meerdere keren.

Vanwege de manier waarop Tlbimp.exe assembly's genereert, is het niet mogelijk om een assembly te retargeten naar een andere mscorlib versie. Als u bijvoorbeeld een assembly wilt genereren die is gericht op .NET Framework 2.0, moet de Tlbimp.exe geleverd met de .NET Framework 2.0/3.0/3.5 SDK worden gebruikt. Als u .NET Framework 4.x wilt gebruiken, moet de Tlbimp.exe geleverd met een .NET Framework 4.x SDK worden gebruikt.

Een resource-id kan eventueel worden toegevoegd aan een typebibliotheekbestand bij het importeren van een typebibliotheek uit een module met meerdere typebibliotheken. Tlbimp.exe kan dit bestand alleen vinden als het zich in de huidige map bevindt of als u het volledige pad opgeeft. Zie het voorbeeld verderop in dit onderwerp.

Voorbeelden

Met de volgende opdracht wordt een assembly met dezelfde naam gegenereerd als de typebibliotheek in myTest.tlb en met de .dll-extensie.

tlbimp myTest.tlb

Met de volgende opdracht wordt een assembly met de naam myTest.dllgegenereerd.

tlbimp  myTest.tlb  /out:myTest.dll  

Met de volgende opdracht wordt een assembly met dezelfde naam gegenereerd als de typebibliotheek die is opgegeven door MyModule.dll\1 en met de extensie .dll. MyModule.dll\1 moet zich in de huidige map bevinden.

tlbimp MyModule.dll\1  

Met de volgende opdracht wordt een assembly met de naam myTestLib.dll voor de typebibliotheek TestLib.dllgegenereerd. Met de optie /transform:dispret transformeert u alle parameters [out, retval] van methoden op dispinterfaces in de typebibliotheek naar retourwaarden in de beheerde bibliotheek.

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

De typebibliotheek TestLib.dll, in het voorgaande voorbeeld, bevat een dispinterface-methode die SomeMethod ongeldigheid retourneert en een parameter [out, retval] heeft. De volgende code is de handtekening voor de invoertypebibliotheekmethode in SomeMethod TestLib.dll.

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

Als u de optie /transform:dispret opgeeft , wordt Tlbimp.exe de [out, retval] parameter SomeMethod omgezet in een bool retourwaarde. Hier volgt de methodehandtekening waarvoor Tlbimp.exe produceert SomeMethod in de beheerde bibliotheek myTestLib.dll wanneer de optie /transform:dispret is opgegeven.

bool SomeMethod();  

Als u Tlbimp.exe gebruikt om een beheerde bibliotheek TestLib.dll te produceren zonder de /transform:dispret op te geven, produceert het hulpprogramma de volgende methodehandtekening voor SomeMethod in de beheerde bibliotheek myTestLib.dll.

void SomeMethod(out bool x);  

Zie ook