Versiebeheer van assembly

Alle versiebeheer van assembly's die gebruikmaken van de algemene taalruntime wordt uitgevoerd op assemblyniveau. De specifieke versie van een assembly en de versies van afhankelijke assembly's worden vastgelegd in het manifest van de assembly. Het standaardversiebeleid voor de runtime is dat toepassingen alleen worden uitgevoerd met de versies waarmee ze zijn gebouwd en getest, tenzij ze worden overschreven door expliciet versiebeleid in configuratiebestanden (het toepassingsconfiguratiebestand, het uitgeversbeleidsbestand en het beheerdersconfiguratiebestand van de computer).

De runtime voert verschillende stappen uit om een assemblybindingsaanvraag op te lossen:

  1. Controleert de oorspronkelijke assembly-verwijzing om te bepalen welke versie van de assembly moet worden gebonden.

  2. Controleert op alle toepasselijke configuratiebestanden om versiebeleid toe te passen.

  3. Bepaalt de juiste assembly van de oorspronkelijke assemblyverwijzing en elke omleiding die is opgegeven in de configuratiebestanden en bepaalt de versie die moet worden gebonden aan de aanroepende assembly.

  4. Controleert de globale assemblycache, codebases die zijn opgegeven in configuratiebestanden en controleert vervolgens de map en submappen van de toepassing met behulp van de testregels die worden uitgelegd in Hoe de runtime assembly's zoekt.

In de volgende afbeelding ziet u de volgende stappen:

Diagram that shows steps in assembly binding request resolution.

Zie Apps configureren voor meer informatie over het configureren van toepassingen. Zie Hoe de runtime assembly's zoekt voor meer informatie over bindingsbeleid.

Versie-informatie

Elke assembly heeft twee verschillende manieren om versie-informatie uit te drukken:

  • Het versienummer van de assembly, samen met de assemblynaam en cultuurinformatie, maakt deel uit van de identiteit van de assembly. Dit nummer wordt door de runtime gebruikt om versiebeleid af te dwingen en speelt een belangrijke rol in het typeomzettingsproces tijdens runtime.

  • Een informatieve versie, een tekenreeks die alleen voor informatieve doeleinden aanvullende versiegegevens vertegenwoordigt.

Assembly-versienummer

Elke assembly heeft een versienummer als onderdeel van de identiteit. Als zodanig worden twee assembly's die verschillen per versienummer beschouwd door de runtime als volledig verschillende assembly's. Dit versienummer wordt fysiek weergegeven als een vierdelige tekenreeks met de volgende notatie:

<primaire versie>.<secundaire versie>.<buildnummer>.<Herziening>

Versie 1.5.1254.0 geeft bijvoorbeeld 1 aan als primaire versie, 5 als secundaire versie, 1254 als buildnummer en 0 als revisienummer.

Het versienummer wordt opgeslagen in het assemblymanifest, samen met andere identiteitsgegevens, waaronder de assemblynaam en openbare sleutel, evenals informatie over relaties en identiteiten van andere assembly's die zijn verbonden met de toepassing.

Wanneer een assembly is gebouwd, registreert het ontwikkelhulpprogramma afhankelijkheidsinformatie voor elke assembly waarnaar wordt verwezen in het assemblymanifest. De runtime gebruikt deze versienummers, in combinatie met configuratiegegevens die zijn ingesteld door een beheerder, een toepassing of uitgever, om de juiste versie van een assembly te laden waarnaar wordt verwezen.

De runtime maakt onderscheid tussen reguliere en sterk benoemde assembly's voor versiebeheer. Versiecontrole vindt alleen plaats met sterk benoemde assembly's.

Zie Apps configureren voor meer informatie over het opgeven van versiebindingsbeleid. Zie Hoe de runtime assembly's zoekt naar assembly's voor informatie over hoe de runtime versie-informatie gebruikt om een bepaalde assembly te vinden.

Informatieversie van assembly

De informatieve versie is een tekenreeks die aanvullende versie-informatie aan een assembly koppelt voor informatieve doeleinden; deze informatie wordt niet gebruikt tijdens runtime. De op tekst gebaseerde informatieve versie komt overeen met de marketingdocumentatie, verpakking of productnaam van het product en wordt niet gebruikt door de runtime. Een informatieve versie kan bijvoorbeeld 'Common Language Runtime versie 1.0' of 'NET Control SP 2' zijn. Op het tabblad Versie van het dialoogvenster Bestandseigenschappen in Microsoft Windows wordt deze informatie weergegeven in het item Productversie.

Notitie

Hoewel u tekst kunt opgeven, wordt er een waarschuwingsbericht weergegeven bij compilatie als de tekenreeks niet de indeling heeft die wordt gebruikt door het versienummer van de assembly of als deze in die indeling is, maar jokertekens bevat. Deze waarschuwing is ongevaarlijk.

De informatieve versie wordt weergegeven met behulp van het aangepaste kenmerk System.Reflection.AssemblyInformationalVersionAttribute. Zie Assembly-kenmerken instellen voor meer informatie over het kenmerk van de informatieve versie.

Zie ook