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.
Anda dapat menjalankan alat baris perintah yang disebut Assembly Registration Tool (Regasm.exe) untuk mendaftarkan atau membatalkan pendaftaran assembly untuk digunakan dengan COM. Regasm.exe menambahkan informasi tentang kelas ke registri sistem sehingga klien COM dapat menggunakan kelas .NET Framework secara transparan. Kelas ini RegistrationServices menyediakan fungsionalitas yang setara.
Komponen terkelola harus terdaftar di registri Windows sebelum dapat diaktifkan dari klien COM. Tabel berikut ini memperlihatkan kunci yang biasanya Regasm.exe tambahkan ke registri Windows. (000000 menunjukkan nilai GUID aktual.)
| GUID | Deskripsi | Kunci registri |
|---|---|---|
| CLSID | Pengidentifikasi kelas | HKEY_CLASSES_ROOT\CLSID\{000…000} |
| IID | Pengidentifikasi antarmuka | HKEY_CLASSES_ROOT\Interface\{000…000} |
| LIBID | Pengidentifikasi perpustakaan | 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 baru bernama, yaitu Kelas dan Majelis, ditambahkan. Runtime membaca nilai assembly dari registri dan meneruskannya ke resolver assembly Runtime. Resolver assembly mencoba menemukan assembly berdasarkan informasi seperti nama dan nomor versi. Agar penyelesai assembly dapat menemukan assembly, assembly harus berada di salah satu lokasi berikut:
Cache rakitan global (harus rakitan dengan nama kuat).
Di direktori aplikasi. Rakitan yang dimuat dari jalur aplikasi hanya dapat diakses oleh aplikasi tersebut.
Sepanjang jalur berkas yang ditentukan dengan pilihan /codebase untuk Regasm.exe.
Regasm.exe juga membuat kunci InProcServer32 di bawah HKCR\CLSID\{0000…0000}. Nilai default untuk kunci diatur ke nama DLL yang menginisialisasi runtime bahasa terpadu (Mscoree.dll).
Memeriksa Entri dalam Registry
Interop COM menyediakan implementasi pabrik kelas standar untuk membuat instans kelas .NET Framework apa pun. Klien dapat memanggil DllGetClassObject 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 tipe COM tradisional untuk menunjukkan bahwa runtime bahasa umum .NET membuat objek terkelola.