Versionshantering för sammansättning
All versionshantering av sammansättningar som använder den gemensamma språkkörningen görs på sammansättningsnivå. Den specifika versionen av en sammansättning och versionerna av beroende sammansättningar registreras i sammansättningens manifest. Standardversionsprincipen för körningen är att program endast körs med de versioner som de har skapats och testats med, såvida de inte åsidosätts av en explicit versionsprincip i konfigurationsfilerna (programkonfigurationsfilen, utgivarens principfil och datorns administratörskonfigurationsfil).
Körningen utför flera steg för att lösa en sammansättningsbindningsbegäran:
Kontrollerar den ursprungliga sammansättningsreferensen för att fastställa vilken version av sammansättningen som ska bindas.
Söker efter alla tillämpliga konfigurationsfiler för att tillämpa versionsprincipen.
Avgör rätt sammansättning från den ursprungliga sammansättningsreferensen och eventuell omdirigering som anges i konfigurationsfilerna och avgör vilken version som ska bindas till den anropande sammansättningen.
Kontrollerar den globala sammansättningscache, kodbaser som anges i konfigurationsfilerna och kontrollerar sedan programmets katalog och underkataloger med hjälp av avsökningsreglerna som beskrivs i Hur körningen hittar sammansättningar.
Följande bild visar följande steg:
Mer information om hur du konfigurerar program finns i Konfigurera appar. Mer information om bindningsprinciper finns i Så här hittar körningen sammansättningar.
Versionsinformation
Varje sammansättning har två olika sätt att uttrycka versionsinformation:
Sammansättningens versionsnummer, som tillsammans med sammansättningsnamnet och kulturinformationen ingår i sammansättningens identitet. Det här talet används av körningen för att framtvinga versionsprincip och spelar en viktig roll i typmatchningsprocessen vid körning.
En informationsversion, som är en sträng som representerar ytterligare versionsinformation som endast ingår i informationssyfte.
Versionsnummer för sammansättning
Varje sammansättning har ett versionsnummer som en del av sin identitet. Därför anses två sammansättningar som skiljer sig åt efter versionsnummer av körningsmiljön vara helt olika sammansättningar. Det här versionsnumret representeras fysiskt som en sträng i fyra delar med följande format:
<högre version>.<delversion>.<versionsnummer>.<Översyn>
Version 1.5.1254.0 anger till exempel 1 som huvudversion, 5 som delversion, 1254 som versionsnummer och 0 som revisionsnummer.
Versionsnumret lagras i sammansättningsmanifestet tillsammans med annan identitetsinformation, inklusive sammansättningsnamnet och den offentliga nyckeln, samt information om relationer och identiteter för andra sammansättningar som är anslutna till programmet.
När en sammansättning skapas registrerar utvecklingsverktygen beroendeinformation för varje sammansättning som refereras till i sammansättningsmanifestet. Körningen använder dessa versionsnummer, tillsammans med konfigurationsinformation som angetts av en administratör, ett program eller en utgivare, för att läsa in rätt version av en refererad sammansättning.
Körningen skiljer mellan vanliga och starka namngivna sammansättningar i versionssyfte. Versionskontrollen sker endast med starka namngivna sammansättningar.
Information om hur du anger principer för versionsbindning finns i Konfigurera appar. Information om hur körningen använder versionsinformation för att hitta en viss sammansättning finns i Så här hittar körningen sammansättningar.
Informationsversion för sammansättning
Den informationsbaserade versionen är en sträng som endast bifogar ytterligare versionsinformation till en sammansättning i informationssyfte. den här informationen används inte vid körning. Den textbaserade informationsversionen motsvarar produktens marknadsföringslitteratur, paketering eller produktnamn och används inte av körningen. En informationsversion kan till exempel vara "Common Language Runtime version 1.0" eller "NET Control SP 2". På fliken Version i dialogrutan filegenskaper i Microsoft Windows visas den här informationen i objektet "Produktversion".
Kommentar
Även om du kan ange valfri text visas ett varningsmeddelande vid kompilering om strängen inte är i det format som används av sammansättningsversionsnumret, eller om den är i det formatet men innehåller jokertecken. Varningen är ofarlig.
Informationsversionen representeras med det anpassade attributet System.Reflection.AssemblyInformationalVersionAttribute. Mer information om attributet för informationsversion finns i Ange sammansättningsattribut.