Delen via


Werken met assembly's en de global assembly-cache

Notitie

Dit artikel is specifiek voor .NET Framework. Dit geldt niet voor nieuwere implementaties van .NET, waaronder .NET 6 en nieuwere versies.

Als u een assembly wilt delen tussen verschillende toepassingen, kunt u deze installeren in de globale assemblycache. Elke computer waarop de algemene taalruntime wordt geïnstalleerd, heeft deze codecache voor de hele computer. In de globale assemblycache worden assembly's opgeslagen die specifiek zijn bedoeld om te worden gedeeld door verschillende toepassingen op de computer. Een assembly moet een sterke naam hebben die moet worden geïnstalleerd in de globale assemblycache.

Notitie

Assembly's die in de globale assemblycache worden geplaatst, moeten dezelfde assemblynaam en bestandsnaam hebben (niet inclusief de bestandsnaamextensie). Een assembly met de assemblynaam van myAssembly moet bijvoorbeeld een bestandsnaam hebben van myAssembly.exe of myAssembly.dll.

U moet assembly's delen door ze alleen in de globale assemblycache te installeren wanneer dat nodig is. Als algemene richtlijn houdt u assemblyafhankelijkheden privé en zoekt u assembly's in de toepassingsmap, tenzij het delen van een assembly expliciet is vereist. Bovendien hoeft u geen assembly's te installeren in de globale assemblycache om ze toegankelijk te maken voor COM-interoperabiliteit of onbeheerde code.

Er zijn verschillende redenen waarom u een assembly mogelijk wilt installeren in de algemene assemblycache:

  • Gedeelde locatie.

    Assembly's die door toepassingen moeten worden gebruikt, kunnen in de algemene assemblycache worden geplaatst. Als alle toepassingen bijvoorbeeld een assembly in de globale assemblycache moeten gebruiken, kan er een versiebeleidsinstructie worden toegevoegd aan het bestand Machine.config waarmee verwijzingen naar de assembly worden omgeleid.

  • Bestandsbeveiliging.

    Beheerders beveiligen de systeemmap vaak met behulp van een toegangsbeheerlijst (ACL) om schrijf- en uitvoertoegang te beheren. Omdat de globale assemblycache is geïnstalleerd in de systemroot-map, neemt deze de ACL van die map over. Het wordt aanbevolen om alleen gebruikers met beheerdersbevoegdheden toe te staan om bestanden te verwijderen uit de globale assemblycache.

  • Versiebeheer naast elkaar.

    Meerdere kopieën van assembly's met dezelfde naam, maar verschillende versiegegevens kunnen worden onderhouden in de globale assemblycache.

  • Extra zoeklocatie.

    De algemene taalruntime controleert de algemene assemblycache op een assembly die overeenkomt met de assemblyaanvraag voordat de codebase-informatie in een configuratiebestand wordt uitgevoerd of gebruikt.

Houd er rekening mee dat er scenario's zijn waarin u expliciet geen assembly wilt installeren in de algemene assemblycache. Als u een van de assembly's die deel uitmaken van een toepassing in de globale assemblycache plaatst, kunt u de toepassing niet meer repliceren of installeren met behulp van XCOPY om de toepassingsmap te kopiëren. In dit geval moet u de assembly ook verplaatsen naar de algemene assemblycache.

In dit gedeelte

Procedure: Een assembly installeren in de global assembly-cache beschrijft de manieren om een assembly te installeren in de algemene assemblycache.

Procedure: Bekijk de inhoud van de globale assemblycache en legt uit hoe u het Gacutil.exe (Global Assembly Cache Tool) gebruikt om de inhoud van de globale assemblycache weer te geven.

Procedure: Een assembly verwijderen uit de global assembly-cache legt uit hoe u het Gacutil.exe (Global Assembly Cache Tool) gebruikt om een assembly uit de globale assemblycache te verwijderen.

Het gebruik van serviceonderdelen met de Global Assembly Cache legt uit waarom serviceonderdelen (beheerde COM+-onderdelen) in de globale assemblycache moeten worden geplaatst.

Het maken van assembly's biedt een overzicht van het maken van assembly's.

Global Assembly Cache beschrijft de globale assemblycache.

Procedure: In dit artikel wordt uitgelegd hoe u de Ildasm.exe (IL Disassembler) kunt gebruiken om algemene tussentaalinformatie (CIL) in een assembly weer te geven.

Hoe de runtime assembly's zoekt, beschrijft hoe de algemene taalruntime de assembly's zoekt en laadt waaruit uw toepassing bestaat.

Programmeren met Assembly's beschrijft assembly's, de bouwstenen van beheerde toepassingen.