Bagikan melalui


Mendaftarkan Rakitan dengan COM

Anda dapat menjalankan alat baris perintah yang disebut Alat Pendaftaran Rakitan (Regasm.exe) untuk mendaftarkan atau membatalkan pendaftaran rakitan untuk digunakan dengan COM. Regasm.exe menambahkan informasi tentang kelas ke registri sistem sehingga klien COM dapat menggunakan kelas .NET Framework secara transparan. Kelas RegistrationServices menyediakan fungsionalitas yang setara.

Komponen terkelola harus terdaftar di registri Windows sebelum dapat diaktifkan dari klien COM. Tabel berikut menunjukkan kunci yang biasanya ditambahkan oleh Regasm.exe ke registri Windows. (000000 menunjukkan nilai GUID yang sebenarnya.)

GUID Deskripsi Kunci Registri
CLSID Pengidentifikasi kelas HKEY_CLASSES_ROOT\CLSID\{000…000}
IID Pengidentifikasi antarmuka HKEY_CLASSES_ROOT\Interface\{000…000}
LIBID Pengidentifikasi pustaka HKEY_CLASSES_ROOT\TypeLib\{000…000}
ProgID Pengidentifikasi terprogram HKEY_CLASSES_ROOT\000…000

Di bawah kunci HKCR\CLSID\{0000…0000}, nilai default diatur ke ProgID kelas, dan dua nilai bernama baru, Kelas dan Rakitan, ditambahkan. Runtime bahasa umum membaca nilai Rakitan dari registri dan meneruskannya ke resolver rakitan runtime bahasa umum. Resolver rakitan mencoba menemukan rakitan, berdasarkan informasi rakitan seperti nama dan nomor versi. Untuk resolver rakitan untuk menemukan rakitan, rakitan harus berada di salah satu lokasi berikut:

  • Cache rakitan global (harus rakitan bernama kuat).

  • Di direktori aplikasi. Rakitan yang dimuat dari jalur aplikasi hanya dapat diakses dari aplikasi tersebut.

  • Sepanjang jalur file yang ditentukan dengan opsi /codebase ke Regasm.exe.

Regasm.exe juga membuat kunci InProcServer32 di bawah kunci HKCR\CLSID\{0000…0000}. Nilai default untuk kunci diatur ke nama DLL yang menginisialisasi runtime bahasa umum (Mscoree.dll).

Memeriksa Entri Registri

Interop COM menyediakan implementasi pabrik kelas standar untuk membuat turunan dari kelas .NET Framework apa pun. Klien dapat memanggil DllGetClassObject pada DLL terkelola untuk mendapatkan pabrik kelas dan membuat objek, seperti yang mereka lakukan dengan komponen COM lainnya.

Untuk subkunci InprocServer32, referensi ke Mscoree.dll muncul sebagai pengganti pustaka jenis COM tradisional untuk menunjukkan bahwa runtime bahasa umum membuat objek terkelola.

Lihat juga