Megosztás a következőn keresztül:


Tlbexp.exe (típuskódtár-exportőr)

A Típustár-exportőr létrehoz egy típustárat, amely egy közös nyelvi futtatókörnyezet-szerelvényben definiált típusokat írja le.

Ez az eszköz automatikusan telepítve van a Visual Studióval. Az eszköz futtatásához használja a Visual Studio fejlesztői parancssorát vagy a Visual Studio Developer PowerShellt.

A parancssorba írja be a következőt:

Syntax

tlbexp assemblyName [options]  

Paraméterek

Argumentum Leírás
assemblyName Az a szerelvény, amelyhez típustárat szeretne exportálni.
Lehetőség Leírás
/asmpath: directory Megadja a szerelvények keresésének helyét. Ha ezt a lehetőséget használja, explicit módon meg kell adnia a hivatkozott szerelvények keresésének helyét, beleértve az aktuális könyvtárat is.

Az asmpath beállítás használatakor a típustár-exportőr nem fog szerelvényt keresni a globális szerelvény-gyorsítótárban (GAC).
/segítség Megjeleníti az eszköz parancsszintaxisát és beállításait.
/names: filename A típustárban lévő nevek nagybetűsítését adja meg. A fájlnév argumentum egy szövegfájl. A fájl minden sora egy név nagybetűsítését adja meg a típustárban.
/nologo Letiltja a Microsoft indítási szalagcímének megjelenítését.
/oldnames Arra kényszeríti Tlbexp.exe, hogy exportálja a dekorált típusneveket, ha a típusnév ütközik. Vegye figyelembe, hogy ez volt az alapértelmezett viselkedés a .NET-keretrendszer 2.0-s verzió előtti verziókban.
/out: fájl Megadja a létrehozandó kódtárfájl nevét. Ha kihagyja ezt a beállítást, Tlbexp.exe létrehoz egy olyan típustárat, amelynek neve megegyezik a szerelvény nevével (a szerelvény tényleges neve, amely nem feltétlenül ugyanaz, mint a szerelvényt tartalmazó fájl) és egy .tlb kiterjesztéssel.
/csend: warningnumber Letiltja a megadott figyelmeztetés megjelenítését. Ez a beállítás nem használható a /silent billentyűvel.
/csendes Letiltja a sikeres üzenetek megjelenítését. Ez a beállítás nem használható a /silence beállítással.
/tlbreference: typelibraryname Kényszeríti Tlbexp.exe, hogy explicit módon oldja fel a típustár-hivatkozásokat a beállításjegyzéktel való konzultáció nélkül. Ha például a B szerelvény az A szerelvényre hivatkozik, ezzel a beállítással explicit típustár-referenciát adhat meg ahelyett, hogy a beállításjegyzékben megadott típustárra támaszkodik. Tlbexp.exe verzióellenőrzést végez annak ellenőrzéséhez, hogy a típustár verziója megegyezik-e a szerelvény verziójával; ellenkező esetben hibát okoz.

Vegye figyelembe, hogy a tlbreference beállítás továbbra is a beállításjegyzékben található olyan esetekben, amikor az ComImportAttribute attribútumot egy másik típus által implementált felületre alkalmazza a rendszer.
/tlbrefpath: elérési út Egy hivatkozott típustár teljes elérési útja.
/win32 64 bites számítógépen történő összeállításkor ez a beállítás azt határozza meg, hogy Tlbexp.exe 32 bites típusú kódtárat hozzon létre.
/win64 32 bites számítógépen történő összeállításkor ez a beállítás azt határozza meg, hogy Tlbexp.exe 64 bites típusú kódtárat hozzon létre.
/bőbeszédű Részletes módot ad meg; megjeleníti azoknak a hivatkozott szerelvényeknek a listáját, amelyekhez típustárat kell létrehozni.
/? Megjeleníti az eszköz parancsszintaxisát és beállításait.

Feljegyzés

A Tlbexp.exe parancssori beállításai nem érzékenyek a kis- és nagybetűkre, és bármilyen sorrendben megadható. Csak annyi lehetőséget kell megadnia, hogy egyedileg azonosítsa azt. A /n értéke például a /nologo, a /o: outfile.tlb pedig a /out: outfile.tlb értéknek felel meg.

Megjegyzések

Tlbexp.exe létrehoz egy típustárat, amely a szerelvényben definiált típusok definícióit tartalmazza. Az olyan alkalmazások, mint a Visual Basic 6.0, a létrehozott típustár használatával kapcsolódhatnak a szerelvényben definiált .NET-típusokhoz.

Fontos

Windows metaadatfájlok (.winmd) exportálásához nem használhat Tlbexp.exe. A Windows-futtatókörnyezet szerelvények exportálása nem támogatott.

A teljes szerelvényt egyszerre konvertálja a rendszer. A Tlbexp.exe nem használhatja a szerelvényben definiált típusok egy részhalmazának típusadatainak létrehozásához.

A Tlbexp.exe nem használható típustár létrehozásához olyan szerelvényből, amelyet a Típustár importáló (Tlbimp.exe) használatával importáltak. Ehelyett a Tlbimp.exe importált eredeti típustárra kell hivatkoznia. Exportálhat egy típustárat egy olyan szerelvényből, amely Tlbimp.exe használatával importált szerelvényekre hivatkozik. Lásd az alábbi példákat.

Tlbexp.exe a létrehozott típustárakat az aktuális munkakönyvtárban vagy a kimeneti fájlhoz megadott könyvtárban helyezi el. Egyetlen szerelvény több típuskódtárat is létrehozhat.

Tlbexp.exe létrehoz egy típustárat, de nem regisztrálja. Ez ellentétben áll a szerelvényregisztrációs eszközzel (Regasm.exe), amely egyaránt létrehoz és regisztrál egy típustárat. A COM-val való típustár létrehozásához és regisztrálásához használja a Regasm.exe.

Ha nem adja meg sem a /win32 /win64 beállítást, Tlbexp.exe létrehoz egy 32 bites vagy 64 bites típusú kódtárat, amely megfelel annak a számítógépnek, amelyen a fordítást végzi (32 bites vagy 64 bites számítógép). Keresztfordítási célokra a /win64 32 bites számítógépen lévő beállítással 64 bites típustárat hozhat létre, a /win32 64 bites számítógépen pedig 32 bites típustárat hozhat létre. A 32 bites típusú kódtárakban az érték a SYSKIND következőre SYS_WIN32van állítva: . A 64 bites típusú kódtárakban az érték a SYSKIND következőre SYS_WIN64van állítva: . A rendszer minden adattípus-átalakítást (például mutatóméretű adattípust, például IntPtr és UIntPtr) megfelelően konvertál.

Ha az attribútumot a MarshalAsAttribute mező értékének VT_UNKNOWN megadására SafeArraySubType használja, Tlbexp.exe figyelmen kívül hagyja a SafeArrayUserDefinedSubType VT_DISPATCHmező további használatát. Például a következő aláírások alapján:

[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_UNKNOWN, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructUnkSafe(){return null;}  
[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_DISPATCH, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructDispSafe(){return null;}  

a rendszer a következő típustárat hozza létre:

[id(0x60020004)]  
HRESULT StructUnkSafe([out, retval] SAFEARRAY(IUnknown*)* pRetVal);  
[id(0x60020005)]  
HRESULT StructDispSafe([out, retval] SAFEARRAY(IDispatch*)* pRetVal);  

Vegye figyelembe, hogy Tlbexp.exe figyelmen kívül hagyja a SafeArrayUserDefinedSubType mezőt.

Mivel a típuskódtárak nem tudják befogadni a szerelvényekben található összes információt, előfordulhat, hogy Tlbexp.exe egyes adatokat elvetnek az exportálási folyamat során. Az átalakítási folyamat magyarázatáért és a típustáraknak kibocsátott egyes információk forrásának azonosításáért tekintse meg a szerelvény típustár-konvertálási összegzését.

Vegye figyelembe, hogy a típustár-exportőr olyan metódusokat exportál, amelyek paraméterekkel VARIANTrendelkeznekTypedReference, annak ellenére, hogy az TypedReference objektumnak nincs jelentése a nem felügyelt kódban. Paraméterekkel rendelkező TypedReference metódusok exportálásakor a típustár-exportőr nem generál figyelmeztetést vagy hibát, és az eredményül kapott típustárat használó nem felügyelt kód nem fog megfelelően futni.

Példák

Az alábbi parancs létrehoz egy olyan típustárat, amelynek a neve megegyezik a szerelvényben myTest.dlltalálható névvel.

tlbexp myTest.dll  

Az alábbi parancs létrehoz egy típustárat a névvel clipper.tlb.

tlbexp myTest.dll /out:clipper.tlb  

Az alábbi példa azt szemlélteti, hogy Tlbexp.exe használatával exportálhat egy típustárat egy olyan szerelvényből, amely a Tlbimp.exe használatával importált szerelvényekre hivatkozik.

Először használja a Tlbimp.exe a típustár myLib.tlb importálásához és mentéséhez myLib.dll.

tlbimp myLib.tlb /out:myLib.dll  

Az alábbi parancs a C#-fordítóval fordítja le az Sample.dll, előző példában létrehozott hivatkozásokat myLib.dll .

CSC Sample.cs /reference:myLib.dll /out:Sample.dll  

Az alábbi parancs létrehoz egy típustárat a hivatkozásokhoz Sample.dll myLib.dll.

tlbexp Sample.dll  

Lásd még