Assemblymanifest
Elke assembly, of dit nu statisch of dynamisch is, bevat een verzameling gegevens die beschrijft hoe de elementen in de assembly zich met elkaar verhouden. Het assemblymanifest bevat deze assemblymetagegevens. Een assemblymanifest bevat alle metagegevens die nodig zijn om de versievereisten en beveiligingsidentiteit van de assembly op te geven, en alle metagegevens die nodig zijn om het bereik van de assembly te definiëren en verwijzingen naar resources en klassen op te lossen. Het assemblymanifest kan worden opgeslagen in een PE-bestand (een .exe of .dll) met algemene CIL-code (tussenliggende taal) of in een zelfstandig PE-bestand dat alleen assemblymanifestinformatie bevat.
In de volgende afbeelding ziet u de verschillende manieren waarop het manifest kan worden opgeslagen.
Voor een assembly met één gekoppeld bestand wordt het manifest opgenomen in het PE-bestand om een assembly met één bestand te vormen. U kunt een assembly met meerdere bestanden maken met een zelfstandig manifestbestand of met het manifest dat is opgenomen in een van de PE-bestanden in de assembly.
Het manifest van elke assembly voert de volgende functies uit:
Inventariseert de bestanden waaruit de assembly bestaat.
Bepaalt hoe verwijzingen naar de typen en resources van de assembly worden toegewezen aan de bestanden die hun declaraties en implementaties bevatten.
Inventariseert andere assembly's waarvan de assembly afhankelijk is.
Biedt een niveau van indirectie tussen consumenten van de assembly en de implementatiedetails van de assembly.
Geeft de assembly zelfbeschrijfd weer.
Inhoud van assemblymanifest
In de volgende tabel ziet u de informatie in het assemblymanifest. De eerste vier items: assemblynaam, versienummer, cultuur en sterke naaminformatie vormen de identiteit van de assembly.
Gegevens | Beschrijving |
---|---|
Assemblynaam | Een tekenreeks die de naam van de assembly opgeeft. |
Versienummer | Een primaire en secundaire versienummer, en een revisie- en buildnummer. De algemene taalruntime gebruikt deze nummers om versiebeleid af te dwingen. |
Cultuur | Informatie over de cultuur of taal die de assembly ondersteunt. Deze informatie mag alleen worden gebruikt om een assembly aan te wijzen als een satellietassembly die cultuur- of taalspecifieke informatie bevat. (Er wordt automatisch van uitgegaan dat een assembly met cultuurinformatie een satellietassembly is.) |
Sterke naaminformatie | De openbare sleutel van de uitgever als de assembly een sterke naam heeft gekregen. |
Lijst met alle bestanden in de assembly | Een hash van elk bestand in de assembly en een bestandsnaam. Alle bestanden waaruit de assembly bestaat, moeten zich in dezelfde map bevinden als het bestand dat het assemblymanifest bevat. |
Naslaginformatie typen | Informatie die door de runtime wordt gebruikt om een typereferentie toe te wijzen aan het bestand dat de declaratie en implementatie bevat. Dit wordt gebruikt voor typen die worden geëxporteerd uit de assembly. |
Informatie over assembly's waarnaar wordt verwezen | Een lijst met andere assembly's waarnaar statisch wordt verwezen door de assembly. Elke verwijzing bevat de naam van de afhankelijke assembly, assemblymetagegevens (versie, cultuur, besturingssysteem, enzovoort) en openbare sleutel, als de assembly een sterke naam heeft. |
U kunt bepaalde informatie in het assemblymanifest toevoegen of wijzigen met behulp van assemblykenmerken in uw code. U kunt versiegegevens en informatieve kenmerken wijzigen, waaronder handelsmerken, copyright, product, bedrijf en informatieve versie. Zie Assembly-kenmerken instellen voor een volledige lijst met assemblykenmerken.