Version Version Version Version Class

Definice

Představuje číslo verze sestavení, operačního systému nebo modulu CLR (Common Language Runtime).Represents the version number of an assembly, operating system, or the common language runtime. Tuto třídu nelze zdědit.This class cannot be inherited.

public ref class Version sealed : ICloneable, IComparable, IComparable<Version ^>, IEquatable<Version ^>
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class Version : ICloneable, IComparable, IComparable<Version>, IEquatable<Version>
type Version = class
    interface ICloneable
    interface IComparable
    interface IComparable<Version>
    interface IEquatable<Version>
Public NotInheritable Class Version
Implements ICloneable, IComparable, IComparable(Of Version), IEquatable(Of Version)
Dědičnost
VersionVersionVersionVersion
Atributy
Implementuje

Příklady

Následující příklad používá AssemblyVersionAttribute atribut k přiřazení čísla verze sestavení.The following example uses the AssemblyVersionAttribute attribute to assign a version number to an assembly. V době kompilace jsou tyto informace o verzi uloženy spolu s metadaty sestavení.At compile time, this version information is stored with the assembly's metadata. V době běhu příklad načítá hodnotu Type.Assembly vlastnosti u typu nalezeného v sestavení pro získání odkazu na spuštěné sestavení a načítá informace o verzi sestavení Version z vlastnosti AssemblyName objekt vrácený Assembly.GetName metodou.At run time, the example retrieves the value of the Type.Assembly property on a type found in the assembly to get a reference to the executing assembly, and it retrieves the assembly's version information from the Version property of the AssemblyName object returned by the Assembly.GetName method.

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

Čísla verzí se skládají ze dvou až čtyř součástí: hlavní, podverze, sestavení a revize.Version numbers consist of two to four components: major, minor, build, and revision. Jsou požadovány hlavní a vedlejší součásti; komponenty Build a Revision jsou volitelné, ale komponenta Build je vyžadována, pokud je definována komponenta revize.The major and minor components are required; the build and revision components are optional, but the build component is required if the revision component is defined. Všechny definované komponenty musí být celá čísla větší nebo rovna 0.All defined components must be integers greater than or equal to 0. Formát čísla verze je následující (volitelné komponenty jsou uvedeny v hranatých závorkách ([a]):The format of the version number is as follows (optional components are shown in square brackets ([ and ]):

Hlavníverze. vedlejší [. sestavení [. Revize]]major.minor[.build[.revision]]

Komponenty jsou používány v konvenci následujícím způsobem:The components are used by convention as follows:

  • Hlavníverze: Sestavení se stejným názvem, ale různými hlavními verzemi, nejsou zaměnitelné.Major: Assemblies with the same name but different major versions are not interchangeable. Vyšší číslo verze může ukazovat na hlavní přepsání produktu, u kterého nelze předpokládat zpětnou kompatibilitu.A higher version number might indicate a major rewrite of a product where backward compatibility cannot be assumed.

  • Vedlejší: Pokud je název a hlavní číslo verze ve dvou sestaveních stejné, ale číslo dílčí verze se liší, znamená to významné vylepšení s úmyslem zpětné kompatibility.Minor: If the name and major version number on two assemblies are the same, but the minor version number is different, this indicates significant enhancement with the intention of backward compatibility. Toto číslo vyšší dílčí verze může označovat, že vydání produktu nebo zcela zpětně kompatibilní nová verze produktu.This higher minor version number might indicate a point release of a product or a fully backward-compatible new version of a product.

  • Sestavení: Rozdíl v čísle sestavení představuje opětovnou kompilaci stejného zdroje.Build: A difference in build number represents a recompilation of the same source. Pokud se změní procesor, platforma nebo kompilátor, mohou být použita různá čísla sestavení.Different build numbers might be used when the processor, platform, or compiler changes.

  • Revize: Sestavení se stejným názvem, hlavní verzí a podverzemi, ale různé revize jsou určeny k úplnému zaměnitelné.Revision: Assemblies with the same name, major, and minor version numbers but different revisions are intended to be fully interchangeable. V sestavení, které opravuje bezpečnostní otvor v dříve vydaném sestavení, může být použito vyšší číslo revize.A higher revision number might be used in a build that fixes a security hole in a previously released assembly.

Následující verze sestavení, které se liší pouze číslem sestavení nebo revize, se považují za aktualizace hotfix předchozí verze.Subsequent versions of an assembly that differ only by build or revision numbers are considered to be Hotfix updates of the prior version.

Důležité

Hodnota Version vlastností, která nebyla explicitně přiřazena hodnota, není definována (-1).The value of Version properties that have not been explicitly assigned a value is undefined (-1).

Od verze .NET Framework 2,0 MajorRevision vám vlastnosti a MinorRevision umožňují identifikovat dočasnou verzi aplikace, která například opraví problém, dokud nebudete moci uvolnit trvalé řešení.Starting with .NET Framework 2.0, the MajorRevision and MinorRevision properties enable you to identify a temporary version of your application that, for example, corrects a problem until you can release a permanent solution. Kromě toho operační systém Windows NT používá MajorRevision vlastnost ke kódování čísla aktualizace Service Pack.Furthermore, the Windows NT operating system uses the MajorRevision property to encode the service pack number.

Přiřazení informací o verzi k sestavenímAssigning Version Information to Assemblies

Version Třída se běžně nepoužívá k přiřazení čísla verze sestavení.Ordinarily, the Version class is not used to assign a version number to an assembly. Místo toho je třída použita k definování verze sestavení, jak je znázorněno v příkladu v tomto tématu. AssemblyVersionAttributeInstead, the AssemblyVersionAttribute class is used to define an assembly's version, as illustrated by the example in this topic.

Načítání informací o verziRetrieving Version Information

Versionobjekty se nejčastěji používají k ukládání informací o verzi pro určitou systémovou nebo aplikační komponentu (jako je operační systém), modul CLR (Common Language Runtime), spustitelný soubor aktuální aplikace nebo konkrétní sestavení.Version objects are most frequently used to store version information about some system or application component (such as the operating system), the common language runtime, the current application's executable, or a particular assembly. Následující příklady ilustrují některé z nejběžnějších scénářů:The following examples illustrate some of the most common scenarios:

  • Načítá se verze operačního systému.Retrieving the operating system version. Následující příklad používá OperatingSystem.Version vlastnost k načtení čísla verze operačního systému.The following example uses the OperatingSystem.Version property to retrieve the version number of the operating system.

    // Get the operating system version.
    OperatingSystem os = Environment.OSVersion;
    Version ver = os.Version;
    Console.WriteLine("Operating System: {0} ({1})", os.VersionString, ver.ToString());
    
    ' Get the operating system version.
    Dim os As OperatingSystem = Environment.OSVersion
    Dim ver As Version = os.Version
    Console.WriteLine("Operating System: {0} ({1})", os.VersionString, ver.ToString())
    
  • Načítá se verze modulu CLR (Common Language Runtime).Retrieving the version of the common language runtime. Následující příklad používá Environment.Version vlastnost k načtení informací o verzi modulu CLR (Common Language Runtime).The following example uses the Environment.Version property to retrieve version information about the common language runtime.

    // Get the common language runtime version.
    Version ver = Environment.Version;
    Console.WriteLine("CLR Version {0}", ver.ToString());
    
    ' Get the common language runtime version.
    Dim ver As Version = Environment.Version
    Console.WriteLine("CLR Version {0}", ver.ToString())
    
  • Načítá se verze sestavení aktuální aplikace.Retrieving the current application's assembly version. Následující příklad používá Assembly.GetEntryAssembly metodu k získání odkazu Assembly na objekt, který představuje spustitelný soubor aplikace a následně načte číslo verze sestavení.The following example uses the Assembly.GetEntryAssembly method to obtain a reference to an Assembly object that represents the application executable and then retrieves its assembly version number.

    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          // Get the version of the executing assembly (that is, this assembly).
          Assembly assem = Assembly.GetEntryAssembly();
          AssemblyName assemName = assem.GetName();
          Version ver = assemName.Version;
          Console.WriteLine("Application {0}, Version {1}", assemName.Name, ver.ToString());
       }
    }
    
    Imports System.Reflection
    
    Module Example
       Public Sub Main()
          ' Get the version of the executing assembly (that is, this assembly).
          Dim assem As Assembly = Assembly.GetEntryAssembly()
          Dim assemName As AssemblyName = assem.GetName()
          Dim ver As Version = assemName.Version
          Console.WriteLine("Application {0}, Version {1}", assemName.Name, ver.ToString())
       End Sub
    End Module
    
  • Načítá se verze sestavení aktuálního sestavení.Retrieving the current assembly's assembly version. Následující příklad používá Type.Assembly vlastnost k získání odkazu Assembly na objekt, který představuje sestavení, které obsahuje vstupní bod aplikace, a poté načte informace o verzi.The following example uses the Type.Assembly property to obtain a reference to an Assembly object that represents the assembly that contains the application entry point, and then retrieves its version information.

    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          // Get the version of the current assembly.
          Assembly assem = typeof(Example).Assembly;
          AssemblyName assemName = assem.GetName();
          Version ver = assemName.Version;
          Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString());
       }
    }
    
    Imports System.Reflection
    
    Module Example
       Public Sub Main()
          ' Get the version of the current assembly.
          Dim assem As Assembly = GetType(Example).Assembly
          Dim assemName As AssemblyName = assem.GetName()
          Dim ver As Version = assemName.Version
          Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString())            VB
       End Sub
    End Module
    
  • Načítání verze konkrétního sestavení.Retrieving the version of a specific assembly. Následující příklad používá Assembly.ReflectionOnlyLoadFrom metodu k získání odkazu Assembly na objekt, který má konkrétní název souboru, a poté načte informace o verzi.The following example uses the Assembly.ReflectionOnlyLoadFrom method to obtain a reference to an Assembly object that has a particular file name, and then retrieves its version information. Všimněte si, že pro vytvoření instance Assembly objektu podle názvu souboru nebo pomocí silného názvu existují i některé jiné metody.Note that several other methods also exist to instantiate an Assembly object by file name or by strong name.

    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          // Get the version of a specific assembly.
          string filename = @".\StringLibrary.dll";
          Assembly assem = Assembly.ReflectionOnlyLoadFrom(filename);
          AssemblyName assemName = assem.GetName();
          Version ver = assemName.Version;
          Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString());
       }
    }
    
    Imports System.Reflection
    
    Module Example
       Public Sub Main()
          ' Get the version of a specific assembly.
          Dim filename As String = ".\StringLibrary.dll"
          Dim assem As Assembly = Assembly.ReflectionOnlyLoadFrom(filename)
          Dim assemName As AssemblyName = assem.GetName()
          Dim ver As Version = assemName.Version
          Console.WriteLine("{0}, Version {1}", assemName.Name, ver.ToString())
       End Sub
    End Module
    
  • Načítání verze publikování aplikace ClickOnce.Retrieving the Publish Version of a ClickOnce application. Následující příklad používá ApplicationDeployment.CurrentVersion vlastnost k zobrazení verze publikování aplikace.The following example uses the ApplicationDeployment.CurrentVersion property to display an application's Publish Version. Všimněte si, že jeho úspěšné provedení vyžaduje, aby byla nastavena identita aplikace v příkladu.Note that its successful execution requires the example's application identity to be set. To je prováděno automaticky průvodcem publikování sady Visual Studio.This is handled automatically by the Visual Studio Publish Wizard.

    using System;
    using System.Deployment.Application;
    
    public class Example
    {
       public static void Main()
       {
          Version ver = ApplicationDeployment.CurrentDeployment.CurrentVersion;
          Console.WriteLine("ClickOnce Publish Version: {0}", ver);
       }
    }
    
    Imports System.Deployment.Application
    
    Module Example
       Public Sub Main()
          Dim ver As Version = ApplicationDeployment.CurrentDeployment.CurrentVersion
          Console.WriteLine("ClickOnce Publish Version: {0}", ver)
       End Sub
    End Module
    

    Důležité

    Verze publikování aplikace pro nasazení ClickOnce je zcela nezávislá na jeho verzi sestavení.The Publish Version of an application for ClickOnce deployment is completely independent of its assembly version.

Porovnávání objektů verzeComparing Version Objects

CompareTo Metodu lze použít k určení, zda je jeden Version objekt starší než, stejné jako nebo pozdější než druhý Version objekt.You can use the CompareTo method to determine whether one Version object is earlier than, the same as, or later than a second Version object. Následující příklad označuje, že verze 2,1 je novější než verze 2,0.The following example indicates that Version 2.1 is later than Version 2.0.

Version v1 = new Version(2, 0);
Version v2 = new Version("2.1");
Console.Write("Version {0} is ", v1);
switch(v1.CompareTo(v2))
{
   case 0:
      Console.Write("the same as");
      break;
   case 1:
      Console.Write("later than");
      break;
   case -1:
      Console.Write("earlier than");
      break;
}
Console.WriteLine(" Version {0}.", v2);                  
// The example displays the following output:
//       Version 2.0 is earlier than Version 2.1.
Dim v1 As New Version(2,0)
Dim v2 As New Version("2.1")
Console.Write("Version {0} is ", v1)
Select Case v1.CompareTo(v2)
   Case 0
      Console.Write("the same as")
   Case 1
      Console.Write("later than")
   Case -1
      Console.Write("earlier than")
End Select
Console.WriteLine(" Version {0}.", v2)                  
' The example displays the following output:
'       Version 2.0 is earlier than Version 2.1.

Aby se dvě verze rovnaly, hlavní, vedlejší, Build a revize prvního Version objektu musí být stejné jako u druhého Version objektu.For two versions to be equal, the major, minor, build, and revision numbers of the first Version object must be identical to those of the second Version object. Pokud číslo Version sestavení nebo revize objektu není definováno, je tento Version objekt považován za starší než Version objekt, jehož číslo buildu nebo revize je rovno nule.If the build or revision number of a Version object is undefined, that Version object is considered to be earlier than a Version object whose build or revision number is equal to zero. Následující příklad znázorňuje toto porovnáním tří Version objektů, které mají nedefinované součásti verze.The following example illustrates this by comparing three Version objects that have undefined version components.

using System;

enum VersionTime {Earlier = -1, Same = 0, Later = 1 };

public class Example
{
   public static void Main()
   {
      Version v1 = new Version(1, 1);
      Version v1a = new Version("1.1.0");
      ShowRelationship(v1, v1a);
      
      Version v1b = new Version(1, 1, 0, 0);
      ShowRelationship(v1b, v1a);
   }

   private static void ShowRelationship(Version v1, Version v2)
   {
      Console.WriteLine("Relationship of {0} to {1}: {2}", 
                        v1, v2, (VersionTime) v1.CompareTo(v2));       
   }
}
// The example displays the following output:
//       Relationship of 1.1 to 1.1.0: Earlier
//       Relationship of 1.1.0.0 to 1.1.0: Later
Public Enum VersionTime
   Earlier = -1
   Same = 0
   Later = 1
End Enum

Module Example
   Public Sub Main()
      Dim v1 As New Version(1, 1)
      Dim v1a As New Version("1.1.0")
      ShowRelationship(v1, v1a)
      
      Dim v1b As New Version(1, 1, 0, 0)
      ShowRelationship(v1b, v1a)
   End Sub

   Private Sub ShowRelationship(v1 As Version, v2 As Version)
      Console.WriteLine("Relationship of {0} to {1}: {2}", 
                        v1, v2, CType(v1.CompareTo(v2), VersionTime))       
   End Sub
End Module
' The example displays the following output:
'       Relationship of 1.1 to 1.1.0: Earlier
'       Relationship of 1.1.0.0 to 1.1.0: Later

Konstruktory

Version() Version() Version() Version()

Inicializuje novou instanci třídy Version třídy.Initializes a new instance of the Version class.

Version(Int32, Int32) Version(Int32, Int32) Version(Int32, Int32) Version(Int32, Int32)

Inicializuje novou instanci Version třídy pomocí zadaných hlavních a vedlejších hodnot.Initializes a new instance of the Version class using the specified major and minor values.

Version(Int32, Int32, Int32) Version(Int32, Int32, Int32) Version(Int32, Int32, Int32) Version(Int32, Int32, Int32)

Inicializuje novou instanci Version třídy pomocí zadaných hodnot hlavní, vedlejší a Build.Initializes a new instance of the Version class using the specified major, minor, and build values.

Version(Int32, Int32, Int32, Int32) Version(Int32, Int32, Int32, Int32) Version(Int32, Int32, Int32, Int32) Version(Int32, Int32, Int32, Int32)

Inicializuje novou instanci Version třídy se zadanými hlavními, vedlejšími, buildy a čísly revize.Initializes a new instance of the Version class with the specified major, minor, build, and revision numbers.

Version(String) Version(String) Version(String) Version(String)

Inicializuje novou instanci Version třídy pomocí zadaného řetězce.Initializes a new instance of the Version class using the specified string.

Vlastnosti

Build Build Build Build

Získá hodnotu komponenty buildu čísla verze pro aktuální Version objekt.Gets the value of the build component of the version number for the current Version object.

Major Major Major Major

Získá hodnotu hlavní součásti čísla verze pro aktuální Version objekt.Gets the value of the major component of the version number for the current Version object.

MajorRevision MajorRevision MajorRevision MajorRevision

Získá vysoké 16 bitů čísla revize.Gets the high 16 bits of the revision number.

Minor Minor Minor Minor

Získá hodnotu vedlejší součásti čísla verze pro aktuální Version objekt.Gets the value of the minor component of the version number for the current Version object.

MinorRevision MinorRevision MinorRevision MinorRevision

Získá méně 16 bitů čísla revize.Gets the low 16 bits of the revision number.

Revision Revision Revision Revision

Získá hodnotu komponenty revize čísla verze pro aktuální Version objekt.Gets the value of the revision component of the version number for the current Version object.

Metody

Clone() Clone() Clone() Clone()

Vrátí nový Version objekt, jehož hodnota je shodná s aktuálním Version objektem.Returns a new Version object whose value is the same as the current Version object.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Porovná aktuální Version objekt se zadaným objektem a vrátí označení jejich relativních hodnot.Compares the current Version object to a specified object and returns an indication of their relative values.

CompareTo(Version) CompareTo(Version) CompareTo(Version) CompareTo(Version)

Porovná aktuální Version objekt se zadaným Version objektem a vrátí označení jejich relativních hodnot.Compares the current Version object to a specified Version object and returns an indication of their relative values.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Vrátí hodnotu, která označuje, zda Version je aktuální objekt roven zadanému objektu.Returns a value indicating whether the current Version object is equal to a specified object.

Equals(Version) Equals(Version) Equals(Version) Equals(Version)

Vrátí hodnotu, která označuje, zda Version aktuální objekt a zadaný Version objekt reprezentují stejnou hodnotu.Returns a value indicating whether the current Version object and a specified Version object represent the same value.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Vrátí hodnotu hash aktuálního Version objektu.Returns a hash code for the current Version object.

GetType() GetType() GetType() GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Vytvoří Mělkou kopii aktuální Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Parse(ReadOnlySpan<Char>) Parse(ReadOnlySpan<Char>) Parse(ReadOnlySpan<Char>) Parse(ReadOnlySpan<Char>)
Parse(String) Parse(String) Parse(String) Parse(String)

Převede řetězcové vyjádření čísla verze na ekvivalentní Version objekt.Converts the string representation of a version number to an equivalent Version object.

ToString() ToString() ToString() ToString()

Převede hodnotu aktuálního Version objektu na jeho ekvivalentní String reprezentace.Converts the value of the current Version object to its equivalent String representation.

ToString(Int32) ToString(Int32) ToString(Int32) ToString(Int32)

Převede hodnotu aktuálního Version objektu na jeho ekvivalentní String reprezentace.Converts the value of the current Version object to its equivalent String representation. Zadaný počet označuje počet komponent, které se mají vrátit.A specified count indicates the number of components to return.

TryFormat(Span<Char>, Int32) TryFormat(Span<Char>, Int32) TryFormat(Span<Char>, Int32) TryFormat(Span<Char>, Int32)
TryFormat(Span<Char>, Int32, Int32) TryFormat(Span<Char>, Int32, Int32) TryFormat(Span<Char>, Int32, Int32) TryFormat(Span<Char>, Int32, Int32)
TryParse(ReadOnlySpan<Char>, Version) TryParse(ReadOnlySpan<Char>, Version) TryParse(ReadOnlySpan<Char>, Version) TryParse(ReadOnlySpan<Char>, Version)
TryParse(String, Version) TryParse(String, Version) TryParse(String, Version) TryParse(String, Version)

Pokusí se převést řetězcové vyjádření čísla verze na ekvivalentní Version objekt a vrátí hodnotu, která označuje, zda byl převod úspěšný.Tries to convert the string representation of a version number to an equivalent Version object, and returns a value that indicates whether the conversion succeeded.

Operátory

Equality(Version, Version) Equality(Version, Version) Equality(Version, Version) Equality(Version, Version)

Určuje, zda jsou Version dva zadané objekty stejné.Determines whether two specified Version objects are equal.

GreaterThan(Version, Version) GreaterThan(Version, Version) GreaterThan(Version, Version) GreaterThan(Version, Version)

Určuje, zda je první Version zadaný objekt větší než druhý zadaný Version objekt.Determines whether the first specified Version object is greater than the second specified Version object.

GreaterThanOrEqual(Version, Version) GreaterThanOrEqual(Version, Version) GreaterThanOrEqual(Version, Version) GreaterThanOrEqual(Version, Version)

Určuje, zda je první Version zadaný objekt větší nebo roven druhému určenému Version objektu.Determines whether the first specified Version object is greater than or equal to the second specified Version object.

Inequality(Version, Version) Inequality(Version, Version) Inequality(Version, Version) Inequality(Version, Version)

Určuje, zda dva Version zadané objekty nejsou stejné.Determines whether two specified Version objects are not equal.

LessThan(Version, Version) LessThan(Version, Version) LessThan(Version, Version) LessThan(Version, Version)

Určuje, zda je první Version zadaný objekt menší než druhý zadaný Version objekt.Determines whether the first specified Version object is less than the second specified Version object.

LessThanOrEqual(Version, Version) LessThanOrEqual(Version, Version) LessThanOrEqual(Version, Version) LessThanOrEqual(Version, Version)

Určuje, zda je první Version zadaný objekt menší nebo roven druhému Version objektu.Determines whether the first specified Version object is less than or equal to the second Version object.

Explicitní implementace rozhraní

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)

Platí pro