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. Ten plik można sprawdzić za pomocą narzędzi, takich jakIldasm.exe.

To narzędzie jest instalowane automatycznie z programem Visual Studio. Aby uruchomić narzędzie, użyj programu Visual Studio wiersz polecenia dla deweloperów lub 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: numer wersji Określa numer wersji zestawu do produkcji. Określ numer wersji w formacie główna.pomocnicza.kompilacja.poprawka.
/company: companyinformation Dodaje informacje o firmie do wyjściowego zestawu.
/copyright: 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. Tę opcję należy określić za pomocą opcji /keycontainer:, /keyfile: lub /publickey:. Aby uzyskać więcej informacji na temat opóźnionego procesu podpisywania, zobacz Delay Signing an Assembly (Opóźnienie podpisywania zestawu).
/help Wyświetla składnię polecenia i opcje narzędzia.
/keycontainer: containername Podpisuje wynikowy zestaw silną nazwą przy użyciu pary kluczy publiczny/prywatny znalezionych w kontenerze kluczy określonym przez nazwę kontenera.
/keyfile: nazwa pliku Podpisuje wynikowy zestaw silną nazwą przy użyciu oficjalnej pary kluczy publiczny/prywatny wydawcy znalezionej w nazwie pliku.
/machine: machinetype Tworzy to zestaw przeznaczony dla określonego typu komputera (procesor). Obsługiwane typy maszyn: x86, x64, Itanium i Agnostic.
/namespace: przestrzeń nazw 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 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.
/primary 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. Opcji /primary należy używać tylko wtedy, gdy jesteś wydawcą biblioteki typów importowanych za pomocą Tlbimp.exe. Należy pamiętać, że należy podpisać podstawowy zestaw międzyoptykowy o silnej nazwie. Aby uzyskać więcej informacji, zobacz Podstawowe zestawy międzyoptykowe.
/product: 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 publiczny/prywatny dostarczony z /keyfile: lub /keycontainer:. Opcja /publickey: obsługuje scenariusze testowania klucza i opóźnienia 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 rekursywnie importuje dowolną zewnętrzną bibliotekę typów, do których importowana jest biblioteka typów. W przypadku określenia opcji /reference narzędzie próbuje rozpoznać typy zewnętrzne w zestawach, do których się odwołuje, zanim zaim importuje inne biblioteki typów.
/cisza: warningnumber Pomija wyświetlanie określonego ostrzeżenia. Tej opcji nie można używać z /silent.
/silent Pomija wyświetlanie komunikatów o sukcesie. Tej opcji nie można używać z /ciszenia.
/strictref Nie importuje biblioteki typów, jeśli narzędzie nie może rozpoznać wszystkich odwołań w bieżącym zestawie, zestawach określonych za pomocą opcji /reference lub zarejestrowanych podstawowych zestawów międzyoptykowych (PIA).
/strictref:nopia Taki sam jak /strictref, ale ignoruje pias.
/sysarray Określa narzędzie do importowania stylu COM SafeArray jako typ Array zarządzany.
/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.
/trademark: 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 wartość dispret dla parametru transformname, aby przekształcić parametry [out, retval] 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.
/unsafe 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.
/verbose 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 odpowiednikiem /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 przypisać 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. Opcje /keyfile: i /keycontainer: opcje podpisują zestawy za pomocą silnych nazw. Dlatego logiczne jest podawanie tylko jedną z tych opcji na raz.

Można określić wiele zestawów odwoływać się za pomocą /reference opcji wiele razy.

Ze względu na sposób, w Tlbimp.exe generuje zestawy, nie można przekierowyć zestawu do innej mscorlib wersji. Jeśli na przykład chcesz wygenerować zestaw przeznaczony dla platformy .NET Framework 2.0, należy użyć zestawu Tlbimp.exe dostarczonego z zestawem SDK .NET Framework 2.0/3.0/3.5. W celu ukierunkowania .NET Framework 4.x należy użyć Tlbimp.exe dostarczonej 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 elementach i z .dll myTest.tlb rozszerzenia.

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 i z rozszerzeniem MyModule.dll\1 .dll rozszerzenia. MyModule.dll\1 musi znajdować się w bieżącym katalogu.

tlbimp MyModule.dll\1  

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

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

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

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

Określenie /transform:dispret opcji powoduje, Tlbimp.exe przekształcić [out, retval] parametru do SomeMethod wartości bool zwracanej. Poniżej przedstawiono podpis metody, który Tlbimp.exe dla w bibliotece zarządzanej, gdy określono opcję SomeMethod myTestLib.dll /transform:dispret.

bool SomeMethod();  

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

void SomeMethod(out bool x);  

Zobacz też