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.dll
typó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.dll
zarządzanej .
void SomeMethod(out bool x);
Zobacz też
- Narzędzia
- Tlbexp.exe (eksporter biblioteki typów)
- Importowanie biblioteki typów jako zestawu
- Biblioteka typów do podsumowania konwersji zestawów
- Ildasm.exe (dezasembler IL)
- Sn.exe (narzędzie silnych nazw)
- Zestawy o silnych nazwach
- Atrybuty importowania bibliotek typów do zestawów międzyoperacyjnych
- Powłoki wiersza polecenia dla deweloperów