Genel Derleme Önbelleği

Ortak Dil Çalışma Zamanı'nın yüklü olduğu her bilgisayarda Genel Bütünleştirilmiş Kod Önbelleği adlı makine genelinde bir kod önbelleği vardır. Genel Bütünleştirilmiş Kod Önbelleği, bilgisayardaki birkaç uygulama tarafından paylaşılacak şekilde özel olarak belirlenmiş derlemeleri depolar.

Derlemeleri yalnızca gerektiğinde Genel Derleme Önbelleğine yükleyerek paylaşmalısınız. Genel bir kılavuz olarak, derleme bağımlılıklarını özel tutun ve bir derlemenin açıkça paylaşılması gerekmediği sürece derlemeleri uygulama dizininde bulun. Buna ek olarak, derlemeleri COM birlikte çalışma veya yönetilmeyen kod için erişilebilir hale getirmek için Genel Derleme Önbelleği'ne yüklemek gerekmez.

Not

Bir derlemeyi Genel Derleme Önbelleğine açıkça yüklemek istemediğiniz senaryolar vardır. Bir uygulamayı oluşturan derlemelerden birini Genel Bütünleştirilmiş Kod Önbelleği'ne yerleştirirseniz, artık uygulama dizinini kopyalamak için xcopy komutunu kullanarak uygulamayı çoğaltabilir veya yükleyemezsiniz. Derlemeyi Genel Derleme Önbelleği'nde de taşımanız gerekir.

Bir derlemeyi Genel Derleme Önbelleğine dağıtmanın iki yolu vardır:

  • Genel Bütünleştirilmiş Kod Önbelleği ile çalışmak için tasarlanmış bir yükleyici kullanın. Bu, derlemeleri Genel Derleme Önbelleğine yüklemek için tercih edilen seçenektir.

  • Windows SDK tarafından sağlanan Genel Derleme Önbelleği aracı (Gacutil.exe) adlı bir geliştirici aracı kullanın.

    Not

    Dağıtım senaryolarında, Derlemeleri Genel Derleme Önbelleğine yüklemek için Windows Installer'ı kullanın. Genel Bütünleştirilmiş Kod Önbelleği aracını yalnızca geliştirme senaryolarında kullanın çünkü Windows Installer kullanılırken derleme başvuru sayımı ve diğer özellikleri sağlamaz.

.NET Framework 4'ten başlayarak, Genel Derleme Önbelleği'nin varsayılan konumu %windir%\Microsoft.NET\assembly'dır. .NET Framework'ün önceki sürümlerinde varsayılan konum :%windir%\assembly.

Yönetici istrators genellikle yazma ve yürütme erişimini denetlemek için bir erişim denetim listesi (ACL) kullanarak systemroot dizinini korur. Genel Bütünleştirilmiş Kod Önbelleği systemroot dizininin bir alt dizinine yüklendiğinden, bu dizinin ACL'sini devralır. Yalnızca Yönetici istratör ayrıcalıklarına sahip kullanıcıların Dosyaları Genel Bütünleştirilmiş Kod Önbelleği'nden silmesine izin verilmelidir.

Genel Derleme Önbelleğinde dağıtılan derlemelerin tanımlayıcı bir adı olmalıdır. Bir derleme Genel Bütünleştirilmiş Kod Önbelleğine eklendiğinde, bütünleştirilmiş kodu oluşturan tüm dosyalarda bütünlük denetimleri gerçekleştirilir. Önbellek, örneğin bir dosya değiştiğinde ancak bildirim değişikliği yansıtmadığında bir bütünleştirilmiş kod üzerinde oynanmadığından emin olmak için bu bütünlük denetimlerini gerçekleştirir.

Ayrıca bkz.