Regasm.exe (Alat Pendaftaran Perakitan)

Alat Pendaftaran Perakitan membaca metadata dalam perakitan dan menambahkan entri yang diperlukan ke registri, yang memungkinkan klien COM membuat .NET Framework kelas secara transparan. Setelah kelas terdaftar, setiap klien COM dapat menggunakannya seolah-olah kelas tersebut adalah kelas COM. Kelas hanya didaftarkan sekali, ketika rakitan dipasang. Instans kelas dalam rakitan tidak dapat dibuat dari COM sampai benar-benar terdaftar.

Untuk menjalankan alat, gunakan Perintah Pengembang Visual Studio atau PowerShell Pengembang Visual Studio.

Pada prompt perintah, ketik berikut ini:

Sintaks

regasm assemblyFile [options]

Parameter

Parameter Deskripsi
assemblyFile Perakitan yang akan didaftarkan dengan COM.
Opsi Deskripsi
/codebase Membuat entri Codebase di registri. Entri Codebase menentukan jalur file untuk rakitan yang tidak dipasang di-cache rakitan global. Jangan tentukan opsi ini jika Anda kemudian akan memasang rakitan yang Anda daftarkan ke cache perakitan global. Sangat disarankan argumen assemblyFile yang Anda tentukan dengan opsi /codebase menjadi rakitan bernama yang kuat.
/registered Menentukan bahwa alat ini hanya akan merujuk ke jenis pustaka yang telah didaftarkan.
/asmpath:direktori Menentukan direktori yang berisi referensi rakitan. Harus digunakan dengan opsi /regfile.
/nologo Menekan tampilan banner startup Microsoft.
/regfile [:regFile] Menghasilkan file .reg yang ditentukan untuk rakitan, yang berisi entri registri yang diperlukan. Menentukan opsi ini tidak mengubah registri. Anda tidak dapat menggunakan opsi ini dengan opsi /u atau /tlb.
/silent atau /s Menekan tampilan pesan sukses.
/tlb [:typeLibFile] Menghasilkan pustaka jenis dari rakitan yang ditentukan yang berisi definisi dari jenis yang dapat diakses yang ditentukan dalam perakitan.
/unregister atau /u Membatalkan pendaftaran kelas yang dapat dibuat yang ditemukan di assemblyFile. Menghilangkan opsi ini menyebabkan Regasm.exe mendaftarkan kelas yang dapat dibuat di perakitan.
/verbose Menentukan mode verbose; menampilkan daftar rakitan yang dirujuk yang perlu dihasilkan pustaka jenis, ketika ditentukan dengan opsi /tlb.
/? atau /help Menampilkan sintaks perintah dan opsi untuk alat ini.

Catatan

Opsi baris perintah Regasm.exe tidak peka huruf besar/kecil. Anda hanya perlu memberikan cukup opsi untuk mengidentifikasinya secara unik. Misalnya, /n setara dengan /nologo dan /t:outfile.tlb setara dengan /tlb:outfile.tlb.

Keterangan

Anda dapat menggunakan opsi /regfile untuk menghasilkan file .reg yang berisi entri registri alih-alih membuat perubahan langsung ke registri. Anda dapat memperbarui registri di komputer dengan mengimpor file .reg dengan alat Editor Registri (Regedit.exe). File .reg tidak berisi pembaruan registri apa pun yang dapat dibuat oleh fungsi register yang ditentukan pengguna. Opsi /regfile hanya memancarkan entri registri untuk kelas terkelola. Opsi ini tidak memancarkan entri untuk TypeLibIDs atau InterfaceIDs.

Saat Anda menentukan opsi /tlb, Regasm.exe menghasilkan dan mendaftarkan pustaka jenis yang menjelaskan jenis yang ditemukan di perakitan. Regasm.exe menempatkan pustaka jenis yang dihasilkan di direktori kerja saat ini atau direktori yang ditentukan untuk file output. Membuat pustaka jenis untuk rakitan yang mereferensikan rakitan lain dapat menyebabkan beberapa pustaka jenis dihasilkan sekaligus. Anda dapat menggunakan pustaka jenis untuk memberikan informasi jenis ke alat pengembangan seperti Visual Studio. Jangan gunakan opsi /tlb jika rakitan yang Anda daftarkan diproduksi oleh Pengimpor Pustaka Jenis (Tlbimp.exe). Anda tidak dapat mengekspor pustaka tipe dari rakitan yang diimpor dari pustaka tipe. Menggunakan opsi /tlb memiliki efek yang sama seperti menggunakan Pengekspor Pustaka Jenis (Tlbexp.exe) dan Regasm.exe, dengan pengecualian bahwa Tlbexp.exe tidak mendaftarkan pustaka jenis yang dihasilkannya. Jika Anda menggunakan opsi /tlb untuk mendaftarkan pustaka jenis, Anda dapat menggunakan opsi /tlb dengan opsi /batalkan pendaftaran untuk membatalkan pendaftaran pustaka jenis. Menggunakan dua opsi bersama-sama akan membatalkan pendaftaran pustaka jenis dan entri antarmuka, yang dapat membersihkan registri secara besar-besaran.

Saat Anda mendaftarkan rakitan untuk digunakan oleh COM, Regasm.exe menambahkan entri ke registri di komputer lokal. Lebih khusus lagi, ini membuat kunci registri yang bergantung pada versi yang memungkinkan beberapa versi perakitan yang sama berjalan berdampingan di komputer. Pertama kali rakitan terdaftar, satu kunci tingkat atas dibuat untuk rakitan, dan sub-kunci unik dibuat untuk versi tertentu. Setiap kali Anda mendaftarkan versi baru rakitan, Regasm.exe membuat sub-kunci untuk versi baru.

Misalnya, pertimbangkan skenario di mana Anda mendaftarkan komponen terkelola, myComp.dll, versi 1.0.0.0 untuk digunakan oleh COM. Kemudian, Anda mendaftar myComp.dll, versi 2.0.0.0. Anda menentukan bahwa semua aplikasi klien COM di komputer menggunakan myComp.dll versi 2.0.0.0 dan Anda memutuskan untuk membatalkan pendaftaran myComponent.dll versi 1.0.0.0. Skema registri ini memungkinkan Anda untuk membatalkan pendaftaran myComp.dll versi 1.0.0.0 karena hanya sub-kunci versi 1.0.0.0 yang dihapus.

Setelah mendaftarkan rakitan menggunakan Regasm.exe, Anda dapat memasangnya di cache perakitan global sehingga dapat diaktifkan dari klien COM mana pun. Jika rakitan hanya akan diaktifkan oleh satu aplikasi, Anda dapat menempatkannya di direktori aplikasi tersebut. Menggunakan opsi /codebase adalah alternatif untuk menggunakan cache perakitan global; namun, lokasi rakitan selama pendaftaran dicatat secara global dan aktivasi akan gagal jika rakitan dipindahkan. Jika rakitan tidak ditemukan melalui pemeriksaan, opsi /codebase akan memuat rakitan dalam konteks load-from yang memiliki pertimbangan tambahan yang didokumenkan dalam Assembly.LoadFrom.

Contoh

Perintah berikut mendaftarkan semua kelas publik yang terkandung dalam myTest.dll.

regasm myTest.dll

Perintah berikut menghasilkan file myTest.reg, yang berisi semua entri registri yang diperlukan. Perintah ini tidak memperbarui registri.

regasm myTest.dll /regfile:myTest.reg

Perintah berikut mendaftarkan semua kelas publik yang terkandung dalam myTest.dll, dan menghasilkan dan mendaftarkan pustaka jenis myTest.tlb, yang berisi definisi dari semua jenis publik yang ditentukan dalam myTest.dll.

regasm myTest.dll /tlb:myTest.tlb

Lihat juga