Tlbimp.exe (Importer biblioteki typów)

Importer biblioteki typów konwertuje definicje typów znalezione w bibliotece typów modelu COM do równoważnych definicji w zestawie środowiska uruchomieniowego języka wspólnego. Wyjściem programu Tlbimp.exe jest plik binarny (zestaw) zawierający metadane środowiska wykonawczego dla typów zdefiniowanych w oryginalnej biblioteki typów. Możesz zbadać ten plik za pomocą narzędzi, takich jak Ildasm.exe.

To narzędzie jest instalowane automatycznie z programem Visual Studio. Aby uruchomić to narzędzie, użyj wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell.

W wierszu polecenia wpisz następujące polecenie:

Składnia

tlbimp tlbFile [options]  

Parametry

Argument Opis
tlbFile Nazwa dowolnego pliku zawierającego bibliotekę typów modelu COM.
Opcja Opis
/asmversion:versionnumber Określa numer wersji zestawu do produkcji. Określ numer wersji w formacie major.minor.build.revision.
/Firmy:companyinformation Dodaje informacje o firmie do wyjściowego zestawu.
/Prawa autorskie:copyrightinformation Dodaje informacje o prawach autorskich do wyjściowego zestawu. Te informacje można wyświetlić w oknie dialogowym Właściwości pliku dla zestawu.
/Delaysign Określa, że Tlbimp.exe ma podpisać wynikowy zestaw silną nazwą przy użyciu opóźnionego podpisywania. Należy określić tę opcję za pomocą opcji /keycontainer:, /keyfile:lub /publickey: . Aby uzyskać więcej informacji na temat opóźnionego procesu podpisywania, zobacz Delay Signing an Assembly (Opóźnianie podpisywania zestawu).
/Pomoc Wyświetla składnię polecenia i opcje narzędzia.
/keycontainer:containername Podpisuje wynikowy zestaw o silnej nazwie przy użyciu pary kluczy publicznych/prywatnych znalezionych w kontenerze kluczy określonym przez nazwę kontenera.
/keyfile:nazwa pliku Podpisuje wynikowy zestaw o silnej nazwie przy użyciu oficjalnej pary kluczy publicznych/prywatnych wydawcy znalezionej w nazwie pliku.
/Maszyny:machinetype Tworzy to zestaw przeznaczony dla określonego typu komputera (procesor). Obsługiwane typy maszyn: x86, x64, Itanium i Agnostic.
/namespace:namespace Określa przestrzeń nazw, w którym ma zostać wyprodukowany zestaw.
/noclassmembers Zapobiega dodawaniu przez Tlbimp.exe składowych do klasy. Pozwala to uniknąć potencjalnego elementu TypeLoadException.
/nologo Pomija wyświetlanie transparentu startowego firmy Microsoft.
/out:nazwa pliku Określa nazwę wyjściowego pliku zestawu i przestrzeń nazw, w którym mają być zapisywane definicje metadanych. Opcja /out nie ma wpływu na przestrzeń nazw zestawu, jeśli biblioteka typów określa atrybut niestandardowy Języka definicji interfejsu (IDL), który jawnie kontroluje przestrzeń nazw zestawu. Jeśli ta opcja nie zostanie określona, Tlbimp.exe zapisuje metadane do pliku o takiej samej nazwie jak rzeczywista biblioteka zdefiniowana w pliku wejściowym i przypisuje mu rozszerzenie dll. Jeśli plik wyjściowy ma taką samą nazwę jak plik wejściowy, narzędzie wygeneruje błąd, aby zapobiec zastąpieniu biblioteki typów.
/Podstawowy Tworzy podstawowy zestaw międzyoperacyjny dla określonej biblioteki typu. Do zestawu są dodawane informacje wskazujące, że wydawca biblioteki typów wyprodukował zestaw. Określając podstawowy zestaw międzyoperacyjny, różnicuje się zestawu wydawcy od innych zestawów utworzonych z biblioteki typów za pomocą Tlbimp.exe. Należy użyć / primary opcji tylko wtedy, gdy jesteś wydawcą biblioteki typów importowanych z Tlbimp.exe. Należy pamiętać, że należy podpisać podstawowy zestaw międzyoperaczy o silnej nazwie. Aby uzyskać więcej informacji, zobacz Podstawowe zestawy międzyoperacyjnej.
/Produktu:productinformation Dodaje informacje o produkcie do wyjściowego zestawu. Te informacje można wyświetlić w oknie dialogowym Właściwości pliku dla zestawu.
/Productversion:productversioninformation Dodaje informacje o wersji produktu do wyjściowego zestawu. Nie ma żadnych ograniczeń dotyczących formatu. Te informacje można wyświetlić w oknie dialogowym Właściwości pliku dla zestawu.
/publickey:nazwa_pliku Określa plik zawierający klucz publiczny używany do podpisywania wynikowego zestawu. Jeśli określisz /keyfile: lub /keycontainer: opcja zamiast /publickey:, Tlbimp.exe generuje klucz publiczny z pary kluczy publicznych/prywatnych dostarczonych z /keyfile: lub /keycontainer:. Opcja /publickey: obsługuje scenariusze klucza testowego i opóźniania podpisywania. Plik jest w formacie generowanym przez Sn.exe. Aby uzyskać więcej informacji, zobacz - p opcji Sn.exe w narzędziu silnej nazwy (Sn.exe).
/reference:nazwa pliku Określa plik zestawu używać do rozpoznawania odwołań do typów zdefiniowanych poza bieżącą biblioteką typów. Jeśli nie określisz / reference opcji, Tlbimp.exe automatycznie cyklicznie importuje dowolną zewnętrzną bibliotekę typów, do której są importowane odwołania biblioteki typów. Jeśli określisz /reference opcji, narzędzie spróbuje rozpoznać typy zewnętrzne w zestawach, do których się odwołuje, zanim zaimportuje inne biblioteki typów.
/Ciszy:warningnumber Pomija wyświetlanie określonego ostrzeżenia. Tej opcji nie można używać z /silent.
/Cichy Pomija wyświetlanie komunikatów o sukcesie. Tej opcji nie można używać z /silence.
/strictref Nie importuje biblioteki typów, jeśli narzędzie nie może rozpoznać wszystkich odwołań w bieżącym zestawie, zestawów określonych z / reference opcji lub zarejestrowanych podstawowych zestawów międzyoperacyjnych (PIA).
/strictref:nopia Takie same jak /strictref, ale ignoruje dane OSOBOWE.
/sysarray Określa narzędzie do importowania stylu COM SafeArray jako typu zarządzanego Array .
/tlbreference:nazwa pliku Określa plik biblioteki typów do użycia do rozpoznawania odwołań do biblioteki typu bez konsultacji z rejestrem.

Należy zauważyć, że ta opcja nie będzie ładować niektórych starszych formatów bibliotek typów. Jednak nadal można ładować starsze formaty bibliotek typów niejawnie za pośrednictwem rejestru lub bieżącego katalogu.
/Znakiem towarowym:trademarkinformation Dodaje informacje o znaku towarowym do wyjściowego zestawu. Te informacje można wyświetlić w oknie dialogowym Właściwości pliku dla zestawu.
/transform:transformname Przekształca metadane określone przez parametr transformname .

Określ dispret dla parametru transformname , aby przekształcić [out, retval] parametry metod w interfejsach tylko do wysyłania (dispinterfaces) na wartości zwracane.

Aby uzyskać więcej informacji dotyczących tej opcji, zobacz przykłady w dalszej części tego tematu.
/Niebezpieczne Produkuje interfejsy bez sprawdzania zabezpieczeń platformy .NET Framework. Wywołanie metody, która jest widoczna w ten sposób, może stanowić zagrożenie bezpieczeństwa. Nie należy używać tej opcji, chyba że masz świadomość ryzyka związanego z ujawnieniem takiego kodu.
/Pełne Określa tryb pełnej informacji; wyświetla dodatkowe informacje o importowanej bibliotece typów.
/VariantBoolFieldToBool Konwertuje VARIANT_BOOL pola w strukturach na Boolean.
/? Wyświetla składnię polecenia i opcje narzędzia.

Uwaga

W opcjach wiersza polecenia programu Tlbimp.exe nie jest rozróżniana wielkość liter i opcje mogą być podawane w dowolnej kolejności. Wystarczy określić część nazwy opcji umożliwiającą jej jednoznaczną identyfikację. W związku z tym /n jest odpowiednikiem /nologo i /ou:outfile.dll jest równoważne /out:outfile.dll.

Uwagi

Tlbimp.exe za jednym razem wykonuje konwersje na całej biblioteki typów. Nie można użyć narzędzia do generowania informacji o typie dla podzbioru typów zdefiniowanych w obrębie jednej biblioteki typów.

Często jest to przydatne lub konieczne, aby móc przypisywać silne nazwy do zestawów. W związku z tym Tlbimp.exe zawiera opcje umożliwiającą podawanie informacji niezbędnych do generowania zestawów o silnych nazwach. Zarówno /keyfile: i /keycontainer: opcje podpisują zestawy z silnymi nazwami. Dlatego logiczne jest podawanie tylko jedną z tych opcji na raz.

Wiele zestawów odwołań można określić za pomocą opcji /reference wiele razy.

Ze względu na sposób, w jaki Tlbimp.exe generuje zestawy, nie można ponownie wygenerować zestawu do innej mscorlib wersji. Jeśli na przykład chcesz wygenerować zestaw przeznaczony dla .NET Framework 2.0, należy użyć zestawu Tlbimp.exe dostarczonego z zestawem .NET Framework 2.0/3.0/3.5. Aby umożliwić .NET Framework 4.x, należy użyć Tlbimp.exe dostarczonego z zestawem SDK .NET Framework 4.x.

Identyfikator zasobu można opcjonalnie dołączyć do pliku biblioteki typów podczas importowania biblioteki typów z modułu zawierającego wiele bibliotek typów. Tlbimp.exe jest w stanie zlokalizować ten plik tylko wtedy, gdy znajduje się w bieżącym katalogu lub jeśli określisz pełną ścieżkę. Zobacz przykład dalej w tym temacie.

Przykłady

Następujące polecenie generuje zestaw o takiej samej nazwie jak biblioteka typów znaleziona w myTest.tlb pliku i z rozszerzeniem .dll.

tlbimp myTest.tlb

Następujące polecenie generuje zestaw o nazwie myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll  

Następujące polecenie generuje zestaw o takiej samej nazwie jak biblioteka typów określona przez MyModule.dll\1 program i z rozszerzeniem .dll. MyModule.dll\1 musi znajdować się w bieżącym katalogu.

tlbimp MyModule.dll\1  

Następujące polecenie generuje zestaw o nazwie myTestLib.dll biblioteki TestLib.dlltypów . Opcja /transform:dispret przekształca wszystkie parametry metod [out, retval] na dispinterfaces w bibliotece typów na zwracane wartości w bibliotece zarządzanej.

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

W powyższym przykładzie biblioteka TestLib.dlltypów zawiera metodę dispinterface o nazwie SomeMethod , która zwraca wartość void i ma parametr [out, retval]. Poniższy kod to sygnatura metody biblioteki typów wejściowych dla SomeMethod elementu w pliku TestLib.dll.

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

Określenie opcji /transform:dispret powoduje, że Tlbimp.exe przekształcić [out, retval] parametr w SomeMethod wartość zwracaną bool . Poniżej znajduje się podpis metody, który Tlbimp.exe tworzy w SomeMethod bibliotece myTestLib.dll zarządzanej po określeniu opcji /transform:dispret .

bool SomeMethod();  

Jeśli używasz Tlbimp.exe do tworzenia biblioteki zarządzanej bez TestLib.dll określania /transform:dispret, narzędzie tworzy następujący podpis metody dla SomeMethod w bibliotece myTestLib.dllzarządzanej .

void SomeMethod(out bool x);  

Zobacz też