Bagikan melalui


Bekerja dengan Rakitan dan Singgahan Perakitan Global

Catatan

Artikel ini khusus untuk .NET Framework. Ini tidak berlaku untuk implementasi .NET yang lebih baru, termasuk .NET 6 dan versi yang lebih baru.

Jika Anda ingin berbagi rakitan di antara beberapa aplikasi, Anda dapat menginstalnya ke dalam singgahan perakitan global. Setiap komputer tempat runtime bahasa umum diinstal memiliki cache kode di seluruh mesin ini. Cache rakitan global menyimpan rakitan yang dirancang khusus untuk digunakan bersama oleh beberapa aplikasi di komputer. Rakitan harus memiliki nama yang kuat untuk diinstal di singgahan perakitan global.

Catatan

Rakitan yang ditempatkan di singgahan perakitan global harus memiliki nama rakitan dan nama file yang sama (tidak termasuk ekstensi nama file). Misalnya, rakitan dengan nama myAssembly harus memiliki nama file myAssembly.exe atau myAssembly.dll.

Anda harus berbagi rakitan dengan menginstalnya ke dalam singgahan perakitan global hanya jika diperlukan. Sebagai pedoman umum, jaga agar dependensi rakitan tetap privat dan temukan rakitan di direktori aplikasi kecuali berbagi rakitan secara eksplisit diperlukan. Selain itu, Anda tidak perlu menginstal rakitan ke dalam singgahan perakitan global agar dapat diakses oleh interop COM atau kode yang tidak dikelola.

Ada beberapa alasan mengapa Anda mungkin ingin menginstal rakitan ke dalam singgahan perakitan global:

  • Lokasi bersama.

    Rakitan yang harus digunakan oleh aplikasi dapat dimasukkan ke dalam singgahan perakitan global. Misalnya, jika semua aplikasi harus menggunakan rakitan yang terletak di singgahan perakitan global, pernyataan kebijakan versi dapat ditambahkan ke file Machine.config yang mengarahkan referensi ke rakitan.

  • Keamanan file.

    Administrator sering melindungi direktori systemroot menggunakan Daftar Kontrol Akses (ACL) untuk mengontrol akses tulis dan eksekusi. Karena singgahan perakitan global diinstal di direktori systemroot, cache tersebut mewarisi ACL direktori tersebut. Direkomendasikan bahwa hanya pengguna dengan hak Administrator yang diizinkan untuk menghapus file dari singgahan perakitan global.

  • Penerapan versi berdampingan.

    Beberapa salinan rakitan dengan nama yang sama tetapi informasi versi berbeda dapat disimpan di singgahan perakitan global.

  • Lokasi pencarian tambahan.

    Runtime bahasa umum memeriksa singgahan perakitan global untuk rakitan yang cocok dengan permintaan rakitan sebelum menyelidiki atau menggunakan informasi basis kode dalam file konfigurasi.

Perhatikan bahwa ada skenario di mana Anda secara eksplisit tidak ingin menginstal rakitan ke singgahan perakitan global. Jika Anda menempatkan salah satu rakitan yang membuat aplikasi ke dalam singgahan perakitan global, Anda tidak dapat lagi mereplikasi atau menginstal aplikasi dengan menggunakan XCOPY untuk menyalin direktori aplikasi. Dalam hal ini, Anda juga harus memindahkan rakitan ke singgahan perakitan global.

Di Bagian Ini

Cara: Menginstal Assembly ke dalam Cache Perakitan Global Menjelaskan cara menginstal assembly ke dalam cache perakitan global.

Cara: Melihat Konten Singgahan Perakitan Global Menjelaskan cara menggunakan Gacutil.exe (Alat Singgahan Perakitan Global) untuk melihat konten cache perakitan global.

Cara: Menghapus Assembly dari Singgahan Perakitan Global Menjelaskan cara menggunakan Gacutil.exe (Alat Singgahan Rakitan Global) untuk menghapus rakitan dari cache perakitan global.

Menggunakan Komponen Berlayanan dengan Singgahan Rakitan Global Menjelaskan mengapa komponen yang dilayankan (komponen COM+ terkelola) harus ditempatkan di cache perakitan global.

Membuat Rakitan Menyediakan gambaran umum pembuatan rakitan.

Cache Perakitan Global Menjelaskan cache perakitan global.

Cara: Menampilkan Konten Perakitan Menjelaskan cara menggunakan Ildasm.exe (Il Disassembler) untuk melihat informasi bahasa perantara umum (CIL) dalam rakitan.

Cara Runtime Menemukan Rakitan Menjelaskan bagaimana runtime bahasa umum menemukan dan memuat rakitan yang membentuk aplikasi Anda.

Pemrograman dengan Rakitan Menjelaskan rakitan, blok penyusun aplikasi terkelola.