Udostępnij za pośrednictwem


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ć narzędzie, użyj wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell.

W wierszu polecenia wpisz:

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.
/firma: companyinformation Dodaje informacje o firmie do wyjściowego zestawu.
/prawo 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 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.
/maszyna: 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 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ędzyoperajowy o silnej nazwie. Aby uzyskać więcej informacji, zobacz Podstawowe zestawy międzyoperacowe.
/produkt: 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 podpisywania klucza testowego i opóźnienia. 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ą bibliotekę typów zewnętrznych, do której są importowane odwołania biblioteki typów. Jeśli określisz /reference opcji, narzędzie podejmie próbę rozpoznania typów zewnętrznych w zestawach, do których odwołuje się odwołanie, zanim zaimportuje 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 /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.
/znak towarowy: 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 zwracane wartości.

Aby uzyskać więcej informacji dotyczących tej opcji, zobacz przykłady w dalszej części tego tematu.
/niebezpieczny 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 przydatne lub konieczne jest przypisanie silnych nazw 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.

Można określić wiele zestawów odwołań, używając opcji /reference wiele razy.

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

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] metod na dispinterfaces w bibliotece typów na zwracane wartości w bibliotece zarządzanej.

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

Biblioteka typów TestLib.dll, w poprzednim przykładzie 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ć parametr SomeMethod w [out, retval] wartość zwracanąbool. Poniżej znajduje się podpis metody, który Tlbimp.exe tworzy SomeMethod w bibliotece myTestLib.dll zarządzanej, gdy jest określona opcja /transform:dispret .

bool SomeMethod();  

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

void SomeMethod(out bool x);  

Zobacz też