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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk