AssemblyVersionAttribute Třída

Definice

Určuje verzi sestavení, které je přiřazeno.

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 jsou informace o této verzi uloženy s metadaty sestavení. Za 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 objektu AssemblyName vrácené 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 slouží k přiřazení čísla verze sestavení. Toto číslo verze je poté uloženo s metadaty sestavení.

Číslo verze sestavení je součástí identity sestavení a hraje klíčovou roli ve vazbě na sestavení a v zásadách verzí. Výchozí zásada verze modulu runtime je, že aplikace běží pouze s verzemi, se kterými byly sestaveny a testovány, pokud je nepřepíší explicitní zásady verze 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í probíhá 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á čísla větší nebo rovna 0. Metadata omezují hlavní komponenty, podverze, sestavení a revize 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 revize. Čí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 navyšuje. 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ělený 2. Pokud jako číslo sestavení 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ávání sestavení pomocí podmíněné kompilace, například takto:

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

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

Hlavní verze sestavení a podverze jsou při exportu sestavení použity 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 com, nastavte verzi sestavení explicitně na 1.0 na AssemblyVersionAttribute stránce pro projekty vytvořené mimo Visual Studio 2005 a bez AssemblyVersionAttribute zadaného. To můžete udělat i v případě, že je verze sestavení 0.0. Všechny projekty vytvořené v sadě Visual Studio 2005 mají výchozí verzi sestavení 1.0.*.

Pokud chcete získat název sestavení, které jste načetli, zavolejte GetName na sestavení , abyste získali AssemblyName, a pak získejte 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 už atribut obsahují. V těchto projektech způsobí přidání atributu do kódu chybu kompilátoru.

Konstruktory

AssemblyVersionAttribute(String)

Inicializuje novou instanci AssemblyVersionAttribute třídy s číslem verze sestavení je přiřazena.

Vlastnosti

TypeId

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

(Zděděno od Attribute)
Version

Získá číslo verze sestavení s atributem.

Metody

Equals(Object)

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

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

Vrátí hodnotu hash pro tuto instanci.

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

Type Získá z aktuální instance.

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

Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu.

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

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

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

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

(Zděděno od Object)

Explicitní implementace rozhraní

_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é