AssemblyVersionAttribute Osztály

Definíció

A hozzárendelt szerelvény verzióját adja meg.

public ref class AssemblyVersionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
public sealed class AssemblyVersionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)]
public sealed class AssemblyVersionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class AssemblyVersionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
type AssemblyVersionAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)>]
type AssemblyVersionAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AssemblyVersionAttribute = class
    inherit Attribute
Public NotInheritable Class AssemblyVersionAttribute
Inherits Attribute
Öröklődés
AssemblyVersionAttribute
Attribútumok

Példák

Az alábbi példa az AssemblyVersionAttribute attribútummal rendel egy verziószámot egy szerelvényhez. Fordításkor a rendszer ezeket a verzióinformációkat a szerelvény metaadataival tárolja. Futtatáskor a példa lekéri a Type.Assembly tulajdonság értékét a szerelvényben található típuson, hogy hivatkozzon a végrehajtó szerelvényre, és lekéri a szerelvény verzióadatait a VersionAssemblyName metódus által Assembly.GetName visszaadott objektum tulajdonságából.

using System;
using System.Reflection;

[assembly:AssemblyVersionAttribute("2.0.1")]

public class Example1
{
   public static void Main()
   {
      Assembly thisAssem = typeof(Example1).Assembly;
      AssemblyName thisAssemName = thisAssem.GetName();
       
      Version ver = thisAssemName.Version;
       
      Console.WriteLine("This is version {0} of {1}.", ver, thisAssemName.Name);    
   }
}
// The example displays the following output:
//        This is version 2.0.1.0 of Example1.
Imports System.Reflection

<Assembly:AssemblyVersionAttribute("2.0.1")>
Module Example1
   Public Sub Main()
       Dim thisAssem As Assembly = GetType(Example1).Assembly
       Dim thisAssemName As AssemblyName = thisAssem.GetName()
       
       Dim ver As Version = thisAssemName.Version
       
       Console.WriteLine("This is version {0} of {1}.", ver, thisAssemName.Name)    
   End Sub
End Module
' The example displays the following output:
'      This is version 2.0.1.0 of Example1.

Megjegyzések

Az AssemblyVersionAttribute attribútummal verziószámot rendelhet egy szerelvényhez. Ezt a verziószámot ezután a rendszer a szerelvény metaadataival tárolja.

A szerelvény verziószáma egy szerelvény identitásának része, és kulcsfontosságú szerepet játszik a szerelvényhez való kötésben és a verziószabályzatban. A futtatókörnyezet alapértelmezett verziószabályzata az, hogy az alkalmazások csak azokkal a verziókkal futnak, amelyekkel készültek és tesztelték őket, kivéve, ha a konfigurációs fájlokban (az alkalmazáskonfigurációs fájlban, a közzétevő házirendfájljában és a számítógép rendszergazdai konfigurációs fájljában) felül van bírálva az explicit verzióházirend. További információt a Összeállítások .NET című témakörben talál.

Note

A verzióellenőrzés csak erős nevű összeállításokkal történik.

A verziószám négy részből áll, az alábbiak szerint:

<főverzió>.<alverzió>.<buildszám>.<átvizsgálás>

Important

A verzió minden összetevőjének 0-nál nagyobb vagy egyenlő egész számnak kell lennie. A metaadatok a szerelvény fő, alverziós, build- és változatösszetevőit UInt16.MaxValue legfeljebb 1 értékre korlátozzák. Ha egy összetevő meghaladja ezt az értéket, fordítási hiba történik.

Például [assembly:AssemblyVersion("2.3.25.1")] a 2-t jelöli főverzióként, a 3-at alverzióként, 25-öt buildszámként, 1-et pedig változatszámként.

Az AssemblyVersionAttribute attribútum lehetővé teszi csillag (*) megadását a build vagy a változat száma helyett. Egy verziószám, például [assembly:AssemblyVersion("1.2.*")] az 1 főverziót, a 2-et pedig alverzióként adja meg, és elfogadja az alapértelmezett build- és változatszámokat. Egy verziószám, például [assembly:AssemblyVersion("1.2.15.*")] 1 főverziót, 2-t alverzióként, 15-öt pedig buildszámként ad meg, és elfogadja az alapértelmezett változatszámot. Az alapértelmezett buildszám naponta növekszik. Az alapértelmezett változatszám a helyi idő szerinti éjfél óta eltelt másodpercek száma (a nyári időszámítás időzónájának módosítása nélkül), osztva 2-vel. Ha csillagot ad meg a buildszámhoz, nem adhat meg változatszámot.

Important

AssemblyVersionAttribute Csillagot meghatározó attribútum használata:

  • A buildkimenetek nem reprodukálhatóvá teszik (lásd : Reprodukálható buildek). Ha a projekt a buildtulajdonságot hibaként CS8357true állítja beDeterministic, a fordító jelenti.
  • Csökkentheti a buildelési teljesítményt, mivel megakadályozza, hogy a build gyorsítótárazza a fordító kimeneteit.
  • Nem kompatibilis a Szerkesztés és Folytatás és Hot Reload funkciók.

Néhány ilyen probléma megoldásához korlátozza az időalapú verziók használatát a buildek feltételes fordítással való kiadására, például:

#if DEBUG
[assembly: AssemblyVersion("1.0.0.0")]
#else
[assembly: AssemblyVersion("1.0.*")]
#endif

A verziószámozás jobb módszere, ha a véglegesítési SHA-ból (Git-adattárakhoz) származtatjuk a szerelvényt vagy a HEAD fájlverziót. Lásd például a Nerdbank.GitVersioninget.

A rendszer a szerelvény fő- és alverzióit használja a típustár verziószámaként a szerelvény exportálásakor. Egyes COM-gazdagépek nem fogadnak el 0.0-s verziószámú típustárakat. Ezért, ha szerelvényt szeretne elérhetővé tenni a COM-ügyfelek számára, állítsa a szerelvény verzióját kifejezetten 1.0-ra a AssemblyVersionAttribute lapon a 2005-ös Visual Studio kívül létrehozott projektekhez, és nincs megadva AssemblyVersionAttribute. Ezt akkor is megteheti, ha a szerelvény verziója 0.0. A Visual Studio 2005-ben létrehozott összes projekt alapértelmezett szerelvényverziója 1.0.*.

A betöltött szerelvény nevének lekéréséhez kérje meg GetName a szerelvényt, hogy szerezzen be egy AssemblyNameelemet, majd szerezze be a tulajdonságot Version . A nem betöltött szerelvény nevének lekéréséhez hívja meg GetAssemblyName az ügyfélalkalmazást, hogy ellenőrizze az alkalmazás által használt szerelvényverziót.

Az AssemblyVersionAttribute attribútum csak egyszer alkalmazható. Egyes Visual Studio projektsablonok már tartalmazzák az attribútumot. Ezekben a projektekben az attribútum kódban való hozzáadása fordítóhibát okoz.

Konstruktorok

Name Description
AssemblyVersionAttribute(String)

Inicializálja az AssemblyVersionAttribute osztály új példányát a hozzárendelt szerelvény verziószámával.

Tulajdonságok

Name Description
TypeId

Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap.

(Öröklődés forrása Attribute)
Version

Lekéri az attribútumként megadott szerelvény verziószámát.

Metódusok

Name Description
Equals(Object)

Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal.

(Öröklődés forrása Attribute)
GetHashCode()

A példány kivonatkódját adja vissza.

(Öröklődés forrása Attribute)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsDefaultAttribute()

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke.

(Öröklődés forrása Attribute)
Match(Object)

Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e.

(Öröklődés forrása Attribute)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása Attribute)

A következőre érvényes:

Lásd még