Version Třída

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
Version
Atributy
Implementuje

Příklady

Následující příklad používá atribut AssemblyVersionAttribute 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 vlastnosti Type.Assembly u typu nalezeného v sestavení pro získání odkazu na spuštěné sestavení a načítá informace o verzi sestavení z vlastnosti Version objektu AssemblyName vráceného metodou Assembly.GetName.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í: 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 číslo názvu a hlavní verze ve dvou sestaveních stejné, ale číslo dílčí verze se liší, znamená to významné zvýšení záměru 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.

  • Build: 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ími a podverzemi, ale různé revize mají být zcela 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 vlastností Version, kterým 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).

Počínaje .NET Framework 2,0 vlastnosti MajorRevision 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á vlastnost MajorRevision 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

Obvykle třída Version 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 třída AssemblyVersionAttribute slouží k definování verze sestavení, jak je znázorněno v příkladu v tomto tématu.Instead, 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

Version objekty se nejčastěji používají k ukládání informací o verzi některé součásti systému nebo aplikace (jako je operační systém), modulu CLR (Common Language Runtime), spustitelném souboru aktuální aplikace nebo konkrétního 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á vlastnost OperatingSystem.Version 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. V následujícím příkladu je použita vlastnost Environment.Version pro 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á metodu Assembly.GetEntryAssembly pro získání odkazu na objekt Assembly, který reprezentuje 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. V následujícím příkladu je použita vlastnost Type.Assembly pro získání odkazu na objekt Assembly, 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á metodu Assembly.ReflectionOnlyLoadFrom pro získání odkazu na objekt Assembly, 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 k 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á vlastnost ApplicationDeployment.CurrentVersion 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

Můžete použít metodu CompareTo k určení, zda jeden objekt Version je starší než, stejné jako nebo pozdější než druhý objekt Version.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.

Pro dvě verze, které mají být stejné, musí být hlavní, vedlejší, Build a revize prvního objektu Version stejné jako u druhého objektu Version.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 sestavení nebo revize Versionho objektu není definováno, je objekt Version považován za starší než objekt Version, jehož číslo buildu nebo revize se rovná 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()

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

Version(Int32, Int32)

Inicializuje novou instanci třídy Version 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)

Inicializuje novou instanci třídy Version 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)

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

Version(String)

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

Vlastnosti

Build

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

Major

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

MajorRevision

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

Minor

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

MinorRevision

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

Revision

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

Metody

Clone()

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

CompareTo(Object)

Porovná aktuální objekt Version 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)

Porovná aktuální objekt Version k určitému objektu Version 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)

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

Equals(Version)

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

GetHashCode()

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

GetType()

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

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

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

(Zděděno od Object)
Parse(ReadOnlySpan<Char>)

Převede zadaný rozsah znaků jen pro čtení, který představuje číslo verze, na ekvivalentní objekt Version.Converts the specified read-only span of characters that represents a version number to an equivalent Version object.

Parse(String)

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

ToString()

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

ToString(Int32)

Převede hodnotu aktuálního objektu Version na jeho ekvivalentní String reprezentaci.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)

Pokusí se naformátovat tuto instanci verze na rozsah znaků.Tries to format this version instance into a span of characters.

TryFormat(Span<Char>, Int32, Int32)

Pokusí se naformátovat tuto instanci verze na rozsah znaků.Tries to format this version instance into a span of characters.

TryParse(ReadOnlySpan<Char>, Version)

Pokusí se převést zadaný rozsah znaků jen pro čtení, které představují číslo verze, na ekvivalentní objekt Version a vrátí hodnotu, která označuje, zda byl převod úspěšný.Tries to convert the specified read-only span of characters representing a version number to an equivalent Version object, and returns a value that indicates whether the conversion succeeded.

TryParse(String, Version)

Pokusí se převést řetězcové vyjádření čísla verze na ekvivalentní objekt Version 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)

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

GreaterThan(Version, Version)

Určuje, zda je první zadaný Version 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)

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

Inequality(Version, Version)

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

LessThan(Version, Version)

Určuje, zda je první zadaný Version 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)

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

Explicitní implementace rozhraní

IComparable.CompareTo(Object)

Porovná aktuální objekt Version 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.

Platí pro