Tlbimp.exe (Pengimpor Pustaka Jenis)

Pengimpor Pustaka Jenis mengonversi definisi jenis yang ditemukan dalam pustaka jenis COM menjadi definisi yang setara dalam rakitan runtime bahasa umum. Output Tlbimp.exe adalah file biner (rakitan) yang berisi metadata runtime untuk jenis yang ditentukan dalam pustaka jenis asli. Anda dapat memeriksa file ini dengan alat seperti Ildasm.exe.

Alat ini secara otomatis diinstal dengan Visual Studio. Untuk menjalankan alat, gunakan Prompt Perintah Pengembang Visual Studio atau PowerShell Pengembang Visual Studio .

Pada prompt perintah, ketik berikut ini:

Sintaks

tlbimp tlbFile [options]  

Parameter

Argumen Deskripsi
tlbFile Nama file apa pun yang berisi pustaka jenis COM.
Opsi Deskripsi
/asmversion:versionnumber Menentukan nomor versi rakitan yang akan diproduksi. Terntukan versionnumber di format major.minor.build.revision.
/company:companyinformation Menambahkan informasi perusahaan ke rakitan output.
/copyright:copyrightinformation Menambahkan informasi hak cipta ke rakitan output. Informasi ini dapat dilihat di kotak dialog Properti File untuk perakitan.
/delaysign Menentukan ke Tlbimp.exe untuk menandatangani rakitan yang dihasilkan dengan nama yang kuat menggunakan penandatanganan tertunda. Anda harus menentukan opsi ini dengan opsi /keycontainer:, /keyfile:, atau /publickey:. Untuk informasi selengkapnya tentang proses penandatanganan yang tertunda, baca Menunda Penandatanganan Rakitan.
/help Menampilkan sintaks perintah dan opsi untuk alat ini.
/keycontainer:containername Menandatangani rakitan yang dihasilkan dengan nama yang kuat menggunakan pasangan kunci publik/pribadi yang ditemukan di penampung kunci yang ditentukan oleh containername.
/keyfile:filename Menandatangani rakitan yang dihasilkan dengan nama yang kuat menggunakan pasangan kunci publik/pribadi resmi penerbit yang ditemukan di filename.
/machine:machinetype Membuat rakitan yang menargetkan jenis mesin yang ditentukan (mikroprosesor). Jenis mesin yang didukung: x86, x64, Itanium, dan Agnostic.
/namespace:namespace Menentukan namespace tempat untuk menghasilkan perakitan.
/noclassmembers Mencegah Tlbimp.exe menambahkan anggota ke kelas. Cara ini menghindari potensi TypeLoadException.
/nologo Menekan tampilan banner startup Microsoft.
/out:filename Menentukan nama file output, rakitan, dan namespace untuk menulis definisi metadata. Opsi /out tidak berpengaruh pada namespace rakitan jika pustaka jenis menentukan atribut khusus Bahasa Definisi Antarmuka (IDL) yang secara eksplisit mengontrol namespace rakitan. Jika Anda tidak menentukan opsi ini, Tlbimp.exe menulis metadata ke file dengan nama yang sama seperti pustaka jenis aktual yang ditentukan dalam file input dan memberinya ekstensi .dll. Jika file output memiliki nama yang sama dengan file input, alat akan menghasilkan kesalahan untuk mencegah penimpaan pustaka jenis.
/primary Menghasilkan rakitan interop utama untuk pustaka jenis yang ditentukan. Informasi ditambahkan ke rakitan yang menunjukkan bahwa penerbit pustaka jenis menghasilkan rakitan. Dengan menentukan rakitan interop utama, Anda membedakan rakitan penerbit dari rakitan lain yang dibuat dari pustaka jenis menggunakan Tlbimp.exe. Anda hanya boleh menggunakan opsi /primary jika Anda adalah penerbit pustaka jenis yang Anda impor dengan Tlbimp.exe. Perhatikan bahwa Anda harus menandatangani rakitan interop utama dengan nama kuat. Untuk informasi selengkapnya, lihat Perakitan Interop Utama.
/product:productinformation Menambahkan informasi produk ke rakitan output. Informasi ini dapat dilihat di kotak dialog Properti File untuk perakitan.
/productversion:productversioninformation Menambahkan informasi versi produk ke rakitan output. Tidak ada batasan format. Informasi ini dapat dilihat di kotak dialog Properti File untuk perakitan.
/publickey:filename Menentukan file yang berisi kunci publik yang akan digunakan untuk menandatangani hasil perakitan. Jika Anda menentukan opsi /keyfile: atau /keycontainer: bukan /publickey:, Tlbimp.exe menghasilkan kunci publik dari pasangan kunci publik/pribadi yang disertakan dengan /keyfile: atau /keycontainer:. Opsi /publickey: mendukung kunci uji dan skenario penundaan penandatanganan. File dalam format yang dihasilkan oleh Sn.exe. Untuk informasi selengkapnya, baca opsi -p dari Sn.exe di Alat Nama Kuat (Sn.exe).
/reference:filename Menentukan file rakitan yang akan digunakan untuk menyelesaikan referensi ke jenis yang ditentukan di luar pustaka jenis saat ini. Jika Anda tidak menentukan opsi /reference, Tlbimp.exe secara otomatis mengimpor pustaka jenis eksternal apa pun yang pustaka jenisnya sedang diimpor referensi. Jika Anda menentukan opsi /reference, alat akan mencoba menyelesaikan jenis eksternal di rakitan yang direferensikan sebelum mengimpor pustaka jenis lain.
/silence:warningnumber Menekan tampilan peringatan yang ditentukan. Opsi ini tidak dapat digunakan dengan /silent.
/silent Menekan tampilan pesan sukses. Opsi ini tidak dapat digunakan dengan /silence.
/strictref Tidak mengimpor pustaka jenis jika alat tidak dapat menyelesaikan semua referensi dalam rakitan saat ini, rakitan yang ditentukan dengan opsi /referensi, atau rakitan interop primer terdaftar (PIA).
/strictref:nopia Sama seperti /strictref, tetapi mengabaikan PIA.
/sysarray Menentukan alat untuk mengimpor SafeArray gaya COM sebagai jenis Array terkelola.
/tlbreference:filename Menentukan file pustaka jenis yang akan digunakan untuk menyelesaikan referensi pustaka jenis tanpa berkonsultasi dengan registri.

Perhatikan bahwa opsi ini tidak akan memuat beberapa format pustaka jenis lama. Namun, Anda masih dapat memuat format pustaka jenis lama secara implisit melalui registri atau direktori saat ini.
/trademark:trademarkinformation Menambahkan informasi merek dagang ke rakitan output. Informasi ini dapat dilihat di kotak dialog Properti File untuk perakitan.
/transform:transformname Mengubah metadata seperti yang ditentukan oleh parameter transformname.

Tentukan dispret untuk parameter transformname untuk mengubah parameter metode [out, retval] pada antarmuka khusus-pengiriman (dispinterfaces) menjadi nilai yang ditampilkan.

Untuk informasi selengkapnya tentang opsi ini, baca contoh pada bagian nanti di topik ini.
/unsafe Menghasilkan antarmuka tanpa pemeriksaan keamanan .NET Framework. Memanggil metode yang diekspos dengan cara ini dapat menimbulkan risiko keamanan. Anda tidak boleh menggunakan opsi ini kecuali Anda mengetahui risiko pengungkapan kode tersebut.
/verbose Menentukan mode verbose; menampilkan informasi tambahan tentang pustaka jenis yang diimpor.
/VariantBoolFieldToBool Mengonversi bidang VARIANT_BOOL dalam struktur menjadi Boolean.
/? Menampilkan sintaks perintah dan opsi untuk alat ini.

Catatan

Opsi baris perintah untuk Tlbimp.exe tidak peka huruf besar-kecil dan dapat diberikan dalam urutan apa pun. Anda hanya perlu menentukan opsi yang cukup untuk mengidentifikasinya secara unik. Oleh karena itu, /n sama dengan /nologo dan /ou:outfile.dll sama dengan /out:outfile.dll.

Keterangan

Tlbimp.exe melakukan konversi pada seluruh pustaka jenis pada satu waktu. Anda tidak dapat menggunakan alat untuk menghasilkan informasi jenis untuk subset dari jenis yang ditentukan dalam pustaka jenis tunggal.

Seringkali berguna atau perlu untuk dapat menetapkan nama kuat ke rakitan. Oleh karena itu, Tlbimp.exe menyertakan opsi untuk memasok informasi yang diperlukan untuk menghasilkan rakitan bernama kuat. Opsi /keyfile: dan /keycontainer: keduanya menandatangani rakitan dengan nama yang kuat. Oleh karena itu, menyediakan hanya satu dari opsi ini pada satu waktu adalah tindakan logis.

Anda dapat menentukan beberapa rakitan referensi dengan menggunakan opsi /reference beberapa kali.

Karena cara Tlbimp.exe menghasilkan rakitan, upaya untuk menargetkan ulang rakitan ke versi mscorlib yang berbeda tidak dimungkinkan. Misalnya, jika Anda ingin membuat rakitan yang menargetkan .NET Framework 2.0, Tlbimp.exe yang dikirimkan dengan .NET Framework 2.0/3.0/3.5 SDK harus digunakan. Untuk menargetkan .NET Framework 4.x, Tlbimp.exe yang dikirimkan dengan .NET Framework 4.x SDK harus digunakan.

ID sumber daya secara opsional dapat ditambahkan ke file pustaka jenis saat mengimpor pustaka jenis dari modul yang berisi beberapa pustaka jenis. Tlbimp.exe dapat menemukan file ini hanya ketika berada di direktori saat ini atau jika Anda menentukan jalur lengkapnya. Lihat contoh pada bagian nanti di topik ini.

Contoh

Perintah berikut menghasilkan rakitan dengan nama yang sama dengan pustaka jenis yang ditemukan di myTest.tlb dan dengan ekstensi .dll.

tlbimp myTest.tlb

Perintah berikut menghasilkan rakitan dengan nama myTest.dll.

tlbimp  myTest.tlb  /out:myTest.dll  

Perintah berikut menghasilkan rakitan dengan nama yang sama seperti pustaka jenis yang ditentukan oleh MyModule.dll\1 dan dengan ekstensi .dll. MyModule.dll\1 harus berada di direktori saat ini.

tlbimp MyModule.dll\1  

Perintah berikut menghasilkan rakitan dengan nama myTestLib.dll untuk TestLib.dll pustaka jenis. Opsi /transform:dispret mengubah parameter metode [out, retval] apa pun pada dispinterfaces di pustaka jenis menjadi nilai pengembalian di pustaka terkelola.

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

Pustaka jenis TestLib.dll, dalam contoh sebelumnya, menyertakan metode dispinterface bernama SomeMethod yang mengembalikan void dan memiliki parameter [out, retval]. Kode berikut adalah tanda tangan metode pustaka jenis input untuk SomeMethod di TestLib.dll.

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

Menentukan opsi /transform:dispret menyebabkan Tlbimp.exe mengubah parameter [out, retval] dari SomeMethod menjadi nilai pengembalian bool. Berikut ini adalah tanda tangan metode yang dihasilkan Tlbimp.exe untuk SomeMethod di pustaka terkelola myTestLib.dll saat opsi /transform:dispret ditentukan.

bool SomeMethod();  

Jika Anda menggunakan Tlbimp.exe untuk menghasilkan pustaka terkelola untuk TestLib.dll tanpa menentukan /transform:dispret, alat akan menghasilkan tanda tangan metode berikut untuk SomeMethod di pustaka terkelola myTestLib.dll.

void SomeMethod(out bool x);  

Lihat juga