Sdílet prostřednictvím


AssemblyVersionAttribute Třída

Definice

Určuje verzi sestavení, která je přiřazena.

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
Dědičnost
AssemblyVersionAttribute
Atributy

Příklady

Následující příklad používá AssemblyVersionAttribute atribut k přiřazení čísla verze sestavení. V době kompilace se tyto informace o verzi ukládají s metadaty sestavení. V době běhu příklad načte hodnotu Type.Assembly vlastnosti typu nalezeného v sestavení získat odkaz na spuštěné sestavení a načte informace o verzi sestavení z Version vlastnosti AssemblyName objektu vráceného metodou Assembly.GetName .

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.

Poznámky

Atribut AssemblyVersionAttribute se používá k přiřazení čísla verze sestavení. Toto číslo verze se pak uloží s metadaty sestavení.

Číslo verze sestavení je součástí identity sestavení a hraje klíčovou součást vazby na sestavení a v zásadách verzí. Výchozí zásada verze modulu runtime spočívá v tom, že aplikace běží jenom s verzemi, se kterými byly sestaveny a testovány, pokud nejsou přepsány explicitními zásadami verzí v konfiguračních souborech (konfigurační soubor aplikace, soubor zásad vydavatele a konfigurační soubor správce počítače). Další informace najdete v tématu Sestavení v .NET .

Poznámka:

Kontrola verzí se provádí pouze u sestavení se silným názvem.

Číslo verze má čtyři části:

<hlavní verze>.<podverze>.<číslo buildu>.<revize>

Důležité

Všechny součásti verze musí být celé číslo větší nebo rovno 0. Metadata omezují hlavní, vedlejší, sestavení a revizní komponenty sestavení na maximální hodnotu UInt16.MaxValue - 1. Pokud komponenta tuto hodnotu překročí, dojde k chybě kompilace.

Například [assembly:AssemblyVersion("2.3.25.1")] označuje 2 jako hlavní verzi, 3 jako podverzi, 25 jako číslo buildu a 1 jako číslo revize.

Atribut AssemblyVersionAttribute umožňuje zadat hvězdičku (*) místo čísla sestavení nebo revize. Číslo verze, například [assembly:AssemblyVersion("1.2.*")] určuje 1 jako hlavní verzi a 2 jako podverzi, a přijímá výchozí čísla sestavení a revizí. Číslo verze, například [assembly:AssemblyVersion("1.2.15.*")] určuje 1 jako hlavní verzi, 2 jako podverzi a 15 jako číslo buildu a přijímá výchozí číslo revize. Výchozí číslo buildu se každý den zvýší. Výchozí číslo revize je počet sekund od půlnoci místního času (bez zohlednění úprav časového pásma pro letní čas) děleno 2. Pokud pro číslo buildu zadáte hvězdičku, nemůžete zadat číslo revize.

Důležité

Použití atributu AssemblyVersionAttribute , který určuje hvězdičku:

Některé z těchto problémů můžete zmírnit omezením použití časových verzí k vydání sestavení pomocí podmíněné kompilace, například:

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

Lepším přístupem k správě verzí je odvození sestavení nebo verze souboru z HEAD potvrzení SHA (pro úložiště Git). Viz například Nerdbank.GitVersioning.

Hlavní a podverze sestavení se při exportu sestavení používají jako číslo verze knihovny typů. Někteří hostitelé modelu COM nepřijímají knihovny typů s číslem verze 0.0. Proto pokud chcete vystavit sestavení klientům MODELU COM, nastavte verzi sestavení explicitně na 1.0 na AssemblyVersionAttribute stránce pro projekty vytvořené mimo Visual Studio 2005 a bez AssemblyVersionAttribute zadání. Udělejte to i v případě, že verze sestavení je 0.0. Všechny projekty vytvořené v sadě Visual Studio 2005 mají výchozí verzi sestavení 1.0.*.

Chcete-li získat název sestavení, které jste načetli, volání GetName sestavení získat AssemblyNamea pak získat Version vlastnost. Pokud chcete získat název sestavení, které jste nenačetli, zavolejte GetAssemblyName z klientské aplikace a zkontrolujte verzi sestavení, kterou vaše aplikace používá.

Atribut AssemblyVersionAttribute lze použít pouze jednou. Některé šablony projektů sady Visual Studio již obsahují atribut. Přidání atributu v kódu v těchto projektech způsobí chybu kompilátoru.

Konstruktory

Name Description
AssemblyVersionAttribute(String)

Inicializuje novou instanci AssemblyVersionAttribute třídy s číslem verze sestavení, které je přiřazeno.

Vlastnosti

Name Description
TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.

(Zděděno od Attribute)
Version

Získá číslo verze atributu sestavení.

Metody

Name Description
Equals(Object)

Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí kód hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také