Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Definisi jenis COM biasanya berada di perpustakaan tipe. Sebaliknya, kompilator yang mematuhi CLS menghasilkan metadata jenis dalam rakitan. Dua sumber informasi jenis cukup berbeda. Topik ini menjelaskan teknik untuk menghasilkan metadata dari pustaka jenis. Rakitan yang dihasilkan disebut perakitan interop, dan informasi jenis yang dikandungnya memungkinkan aplikasi .NET Framework untuk menggunakan jenis COM.
Ada dua cara untuk membuat informasi jenis ini tersedia untuk aplikasi Anda:
Menggunakan perakitan antaroperasi hanya untuk waktu desain: Dimulai dengan .NET Framework 4, Anda dapat menginstruksikan pengompilasi untuk menyematkan informasi tipe dari perakitan antaroperasi ke dalam file eksekusi Anda. Pengkompilasi hanya menyematkan informasi jenis yang digunakan aplikasi Anda. Anda tidak perlu menyebarkan rakitan interop dengan aplikasi Anda. Ini adalah teknik yang direkomendasikan.
Menyebarkan rakitan interop: Anda dapat membuat referensi standar ke rakitan interop. Dalam hal ini, assembly interop harus disebarkan bersama aplikasi Anda. Jika Anda menggunakan teknik ini, dan Anda tidak menggunakan komponen COM privat, selalu referensikan perakitan interop utama (PIA) yang diterbitkan oleh penulis komponen COM yang ingin Anda masukkan dalam kode terkelola Anda. Untuk informasi selengkapnya tentang memproduksi dan menggunakan rakitan interop utama, lihat Rakitan Interop Utama.
Saat Anda menggunakan rakitan interop khusus waktu desain, Anda dapat menyematkan informasi jenis dari rakitan interop utama yang diterbitkan oleh penulis komponen COM. Namun, Anda tidak perlu menyebarkan perakitan interop utama dengan aplikasi Anda.
Menggunakan rakitan interop khusus untuk waktu desain mengurangi ukuran dari aplikasi Anda, karena sebagian besar aplikasi tidak menggunakan semua fitur komponen COM. Pengkompilasi sangat efisien ketika menyematkan informasi jenis; jika aplikasi Anda hanya menggunakan beberapa metode pada antarmuka COM, pengkompilasi tidak menyematkan metode yang tidak digunakan. Ketika sebuah aplikasi yang memiliki informasi jenis yang disematkan berinteraksi dengan aplikasi lain yang serupa, atau berinteraksi dengan aplikasi yang menggunakan perakitan interop utama, Runtime Bahasa Umum menggunakan aturan kesetaraan jenis untuk menentukan apakah dua jenis dengan nama yang sama mewakili jenis COM yang sama. Anda tidak perlu mengetahui aturan ini untuk menggunakan objek COM. Namun, jika Anda tertarik dengan aturan, lihat Jenis Kesetaraan dan Jenis Interop Tersemat.
Membuat Metadata
Pustaka jenis COM dapat berupa file mandiri yang memiliki ekstensi .tlb, seperti Loanlib.tlb. Beberapa pustaka jenis disematkan di bagian sumber daya file .dll atau .exe. Sumber informasi pustaka jenis lainnya adalah file .olb dan .ocx.
Setelah Anda menemukan pustaka jenis yang berisi implementasi jenis COM target Anda, Anda memiliki opsi berikut untuk menghasilkan rakitan interop yang berisi metadata jenis:
Visual Studio
Visual Studio secara otomatis mengonversi jenis COM dalam pustaka jenis menjadi metadata dalam perakitan. Untuk petunjuknya, lihat Cara: Menambahkan Referensi ke Pustaka Jenis.
Pengimpor Pustaka Tipe (Tlbimp.exe)
Pengimpor Pustaka Tipe menyediakan opsi baris perintah untuk menyesuaikan metadata dalam file interop yang dihasilkan, mengimpor jenis dari pustaka jenis yang ada, dan menghasilkan rakitan interop dan namespace. Untuk instruksi, lihat Cara: Membuat Assembly Interop dari Pustaka Tipe.
kelas System.Runtime.InteropServices.TypeLibConverter
Kelas ini menyediakan metode untuk mengonversi coclass dan antarmuka dalam pustaka tipe ke metadata dalam assembly. Ini menghasilkan output metadata yang sama dengan Tlbimp.exe. Namun, tidak seperti Tlbimp.exe, TypeLibConverter kelas dapat mengonversi pustaka jenis dalam memori menjadi metadata.
Pembungkus kustom
Ketika pustaka jenis tidak tersedia atau salah, salah satu opsinya adalah membuat definisi duplikat kelas atau antarmuka dalam kode sumber terkelola. Anda kemudian mengkompilasi kode sumber dengan kompiler yang menargetkan runtime untuk menghasilkan metadata dalam assembler.
Untuk menentukan jenis COM secara manual, Anda harus memiliki akses ke item berikut:
Deskripsi yang tepat tentang kolase dan antarmuka yang didefinisikan.
Pengkompilasi, seperti pengkompilasi C#, yang dapat menghasilkan definisi kelas .NET Framework yang sesuai.
Pengetahuan tentang aturan konversi dari pustaka tipe ke rakitan.
Menulis pembungkus kustom adalah teknik lanjutan. Untuk informasi tambahan tentang cara membuat pembungkus kustom, lihat Menyesuaikan Pembungkus Standar.
Untuk informasi selengkapnya tentang proses impor interop COM, lihat Ringkasan Konversi Pustaka Tipe ke Rakitan.
Lihat juga
- TypeLibConverter
- Mengekspos Komponen COM ke .NET Framework
- Ketik Pustaka ke Ringkasan Konversi Rakitan
- Tlbimp.exe (Pengimpor Pustaka Tipe)
- Menyesuaikan Pembungkus Standar
- Menggunakan Jenis COM dalam Kode Terkelola
- Mengkompilasi Proyek Interoperabilitas
- Menyebarkan Aplikasi Interop
- Cara: Menambahkan Referensi ke Pustaka Tipe
- Cara: Membuat Interop Assembly dari Library Tipe