Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase Version

 

Publicado: octubre de 2016

Representa el número de versión de un ensamblado, sistema operativo o Common Language Runtime. Esta clase no puede heredarse.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)


[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class Version : ICloneable, IComparable, IComparable<Version>, 
	IEquatable<Version>

NombreDescripción
System_CAPS_pubmethodVersion()

Inicializa una nueva instancia de la clase Version.

System_CAPS_pubmethodVersion(Int32, Int32)

Inicializa una nueva instancia de la Version clase utilizando los valores especificados de principales y secundarios.

System_CAPS_pubmethodVersion(Int32, Int32, Int32)

Inicializa una nueva instancia de la Version especificado principal, secundaria, de clase y valores de compilación.

System_CAPS_pubmethodVersion(Int32, Int32, Int32, Int32)

Inicializa una nueva instancia de la Version clase con la especificada principal, secundario, de compilación y números de revisión.

System_CAPS_pubmethodVersion(String)

Inicializa una nueva instancia de la clase Version con la cadena especificada.

NombreDescripción
System_CAPS_pubpropertyBuild

Obtiene el valor del componente de compilación del número de versión actual Version objeto.

System_CAPS_pubpropertyMajor

Obtiene el valor del componente principal del número de versión actual Version objeto.

System_CAPS_pubpropertyMajorRevision

Obtiene los 16 bits superiores del número de revisión.

System_CAPS_pubpropertyMinor

Obtiene el valor del componente secundario del número de versión actual Version objeto.

System_CAPS_pubpropertyMinorRevision

Obtiene los 16 bits inferiores del número de revisión.

System_CAPS_pubpropertyRevision

Obtiene el valor del componente de revisión del número de versión actual Version objeto.

NombreDescripción
System_CAPS_pubmethodClone()

Devuelve un nuevo Version objeto cuyo valor es el mismo que el actual Version objeto.

System_CAPS_pubmethodCompareTo(Object)

Compara actual Version objeto a un objeto especificado y devuelve una indicación de sus valores relativos.

System_CAPS_pubmethodCompareTo(Version)

Compara actual Version objeto para un determinado Version de objetos y devuelve una indicación de sus valores relativos.

System_CAPS_pubmethodEquals(Object)

Devuelve un valor que indica si el actual Version objeto es igual a un objeto especificado.(Invalida Object.Equals(Object)).

System_CAPS_pubmethodEquals(Version)

Devuelve un valor que indica si el actual Version objeto y especificado Version objeto representan el mismo valor.

System_CAPS_pubmethodGetHashCode()

Devuelve un código hash para la actual Version objeto.(Invalida Object.GetHashCode()).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Convierte la representación de cadena de un número de versión a un equivalente Version objeto.

System_CAPS_pubmethodToString()

Convierte el valor del elemento actual Version objeto equivalente String representación.(Invalida Object.ToString()).

System_CAPS_pubmethodToString(Int32)

Convierte el valor del elemento actual Version objeto equivalente String representación. Un recuento especificado indica el número de componente que se va a devolver.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, Version)

Intenta convertir la representación de cadena de un número de versión a un equivalente Version de objetos y devuelve un valor que indica si la conversión se realizó correctamente.

NombreDescripción
System_CAPS_puboperatorSystem_CAPS_staticEquality(Version, Version)

Determina si dos objetos Version especificados son iguales.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThan(Version, Version)

Determina si el primer especificado Version es mayor que el segundo objeto especificado Version objeto.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThanOrEqual(Version, Version)

Determina si el primer especificado Version objeto es mayor o igual que el segundo especificado Version objeto.

System_CAPS_puboperatorSystem_CAPS_staticInequality(Version, Version)

Determina si dos objetos Version especificados no son iguales.

System_CAPS_puboperatorSystem_CAPS_staticLessThan(Version, Version)

Determina si el primer especificado Version objeto es menor que el segundo especifica Version objeto.

System_CAPS_puboperatorSystem_CAPS_staticLessThanOrEqual(Version, Version)

Determina si el primer especificado Version objeto es menor o igual que el segundo Version objeto.

Números de versión constan de dos a cuatro componentes: principal, secundaria, compilación y revisión. Los componentes principales y secundarios son necesarios; los componentes de compilación y revisión son opcionales, pero el componente de compilación es necesario si se ha definido el componente de revisión. Todos los componentes definidos deben ser enteros mayores o iguales que 0. El formato del número de versión es como sigue (componentes opcionales se muestran entre corchetes ([y]):

major. minor[. build[. revisión]]

Los componentes se usan por convención como sigue:

  • Principales: ensamblados con el mismo nombre pero diferentes versiones principales no son intercambiables. Un número de versión más alto puede indicar la reescritura principal de un producto que no se puede asumir la compatibilidad con versiones anteriores.

  • Secundaria: si el nombre y número de versión principal de dos ensamblados son iguales, pero el número de versión secundaria es diferente, esto indica una mejora importante con la intención de compatibilidad con versiones anteriores. Este número de versión secundaria más alto podría indicar una versión de punto de un producto o una nueva versión de totalmente compatible con versiones anteriores de un producto.

  • Compilación: una diferencia en el número de compilación representa una recompilación del mismo origen. Números de compilación diferente podrían utilizarse cuando el procesador, plataforma o compilador cambia.

  • Revisión: ensamblados con los mismos números de versión de nombre, principal y secundaria pero con revisiones diferentes están pensados para ser completamente intercambiables. Un mayor número de revisión podría utilizarse en una compilación que corrige una vulnerabilidad de seguridad en un ensamblado publicada anteriormente.

Las versiones posteriores de un ensamblado que difieran solo por números de compilación y revisión se consideran como actualizaciones de revisión de la versión anterior.

System_CAPS_importantImportante

El valor de Version propiedades que no asignados explícitamente un valor es indefinido (-1).

A partir de .NET Framework 2.0, el MajorRevision y MinorRevision propiedades le permiten identificar una versión provisional de la aplicación que, por ejemplo, corrige un problema hasta que pueda lanzar una solución permanente. Además, el sistema operativo Windows NT utiliza el MajorRevision propiedad que se va a codificar el número de service pack.

Normalmente, la Version clase no se usa para asignar un número de versión a un ensamblado. En su lugar, la AssemblyVersionAttribute clase se utiliza para definir la versión de un ensamblado, como se muestra en el ejemplo de este tema.

Versionobjetos suelen usarse para almacenar información de versión sobre algún componente de aplicación o del sistema (por ejemplo, el sistema operativo), common language runtime, el ejecutable de la aplicación actual o un ensamblado concreto. Los ejemplos siguientes muestran algunos de los escenarios más comunes:

  • Recuperar la versión del sistema operativo. En el ejemplo siguiente se usa el OperatingSystem.Version propiedad para recuperar el número de versión del sistema operativo.

    // Get the operating system version.
    OperatingSystem os = Environment.OSVersion;
    Version ver = os.Version;
    Console.WriteLine("Operating System: {0} ({1})", os.VersionString, ver.ToString());
    
  • Recuperar la versión de common language runtime. En el ejemplo siguiente se usa el Environment.Version propiedad que se va a recuperar la información de versión de common language runtime.

    // Get the common language runtime version.
    Version ver = Environment.Version;
    Console.WriteLine("CLR Version {0}", ver.ToString());
    
  • Al recuperar la versión de ensamblado de la aplicación actual. En el ejemplo siguiente se usa el Assembly.GetEntryAssembly método para obtener una referencia a un Assembly objeto que representa el archivo ejecutable de la aplicación y, a continuación, recupera su número de versión de ensamblado.

    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());
       }
    }
    
  • Al recuperar la versión de ensamblado del ensamblado actual. En el ejemplo siguiente se usa el Type.Assembly propiedad para obtener una referencia a un Assembly objeto que representa el ensamblado que contiene el punto de entrada de la aplicación y, a continuación, recupera su información de versión.

    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());
       }
    }
    
  • Recuperar la versión de un ensamblado concreto. En el ejemplo siguiente se usa el Assembly.ReflectionOnlyLoadFrom método para obtener una referencia a un Assembly objeto que tiene un nombre de archivo en particular y, a continuación, recupera su información de versión. Tenga en cuenta que también existen otros métodos para crear instancias de un Assembly objeto por nombre de archivo o por nombre seguro.

    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());
       }
    }
    
  • Recuperar la versión de publicación de una aplicación ClickOnce. En el ejemplo siguiente se usa el ApplicationDeployment.CurrentVersion propiedad para mostrar la versión de publicación de una aplicación. Tenga en cuenta que su ejecución correcta requiere la identidad de aplicación del ejemplo a establecerse. Esto se controla automáticamente por el Asistente de publicación de Visual Studio.

    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);
       }
    }
    
    System_CAPS_importantImportante

    La versión de publicación de una aplicación para la implementación de ClickOnce es completamente independiente de la versión de ensamblado.

Puede usar el CompareTo método para determinar si un Version objeto es anterior, igual o posterior a un segundo Version objeto. En el ejemplo siguiente se indica que la versión 2.1 es posterior a la versión 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.

Para que dos versiones son iguales, el principal, secundaria, compilación y números de revisión de la primera Version objeto debe ser idéntico a las del segundo Version objeto. Si el número de compilación y revisión de un Version objeto no está definido, que Version objeto se considera que es anterior a un Version cuya compilación de un objeto o el número de revisión es igual a cero. El siguiente ejemplo ilustra esto mediante la comparación de tres Version objetos que tienen sin definir componentes de versión.

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

En el ejemplo siguiente se usa el AssemblyVersionAttribute atributo para asignar un número de versión a un ensamblado. En tiempo de compilación, esta información de versión se almacena con los metadatos del ensamblado. En tiempo de ejecución, el ejemplo recupera el valor de la Type.Assembly propiedad en un tipo que se encuentra en el ensamblado para obtener una referencia al ensamblado que se ejecuta y recupera información de versión del ensamblado de la Version propiedad de la AssemblyName objeto devuelto por la Assembly.GetName método.

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.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: