Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

Version (Clase)

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>

El tipo Version expone los siguientes miembros.

  NombreDescripción
Método públicoVersion()Inicializa una nueva instancia de la clase Version.
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifVersion(String)Inicializa una nueva instancia de la clase Version con la cadena especificada.
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifVersion(Int32, Int32)Inicializa una nueva instancia de la clase Version utilizando los valores principal y secundario especificados.
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifVersion(Int32, Int32, Int32)Inicializa una nueva instancia de la clase Version utilizando los valores principal, secundario y de compilación especificados.
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifVersion(Int32, Int32, Int32, Int32)Inicializa una nueva instancia de la clase Version con los números principal, secundario, de compilación y revisión especificados.
Arriba

  NombreDescripción
Propiedad públicaCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifBuildObtiene el valor del componente de compilación del número de versión del objeto Version actual.
Propiedad públicaCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifMajorObtiene el valor del componente principal del número de versión del objeto Version actual.
Propiedad públicaMajorRevisionObtiene los 16 bits superiores del número de revisión.
Propiedad públicaCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifMinorObtiene el valor del componente secundario del número de versión del objeto Version actual.
Propiedad públicaMinorRevisionObtiene los 16 bits inferiores del número de revisión.
Propiedad públicaCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifRevisionObtiene el valor del componente de revisión del número de versión del objeto Version actual.
Arriba

  NombreDescripción
Método públicoCompatible con XNA FrameworkCloneDevuelve un nuevo objeto Version cuyo valor es igual al del objeto Version actual.
Método públicoCompatible con XNA FrameworkCompareTo(Object)Compara el objeto Version actual con un objeto especificado y devuelve una indicación de los valores relativos.
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifCompareTo(Version)Compara el objeto Version actual con un objeto Version especificado y devuelve una indicación de los valores relativos.
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifEquals(Object)Devuelve un valor que indica si el objeto Version actual es igual a un objeto especificado. (Invalida a Object.Equals(Object)).
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifEquals(Version)Devuelve un valor que indica si el objeto Version actual y un objeto Version especificado representan el mismo valor.
Método protegidoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifFinalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Se hereda de Object).
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifGetHashCodeDevuelve un código hash para el objeto Version actual. (Invalida a Object.GetHashCode()).
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método protegidoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método públicoMiembro estáticoParseConvierte la representación de cadena de un número de versión en un objeto Version equivalente.
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifToString()Convierte el valor del objeto Version actual en su representación String equivalente. (Invalida a Object.ToString()).
Método públicoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifToString(Int32)Convierte el valor del objeto Version actual en su representación String equivalente. Un recuento especificado indica el número de componente que se va a devolver.
Método públicoMiembro estáticoTryParseIntenta convertir la representación de cadena de un número de versión en un objeto Version equivalente y devuelve un valor que indica si la conversión se realizó correctamente o no.
Arriba

  NombreDescripción
Operador públicoMiembro estáticoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifEqualityDetermina si los dos objetos Version especificados son iguales.
Operador públicoMiembro estáticoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifGreaterThanDetermina si el primer objeto Version especificado es mayor que el segundo objeto Version especificado.
Operador públicoMiembro estáticoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifGreaterThanOrEqualDetermina si el primer objeto Version especificado es mayor o igual que el segundo objeto Version especificado.
Operador públicoMiembro estáticoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifInequalityDetermina si dos objetos Version especificados no son iguales.
Operador públicoMiembro estáticoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifLessThanDetermina si el primer objeto Version especificado es menor que el segundo objeto Version especificado.
Operador públicoMiembro estáticoCompatible con XNA Frameworkhdxyt63s.PortableClassLibrary(es-es,VS.100).gifLessThanOrEqualDetermina si el primer objeto Version especificado es menor o igual que el segundo objeto Version.
Arriba

Los números de versión están formados por entre dos y cuatro componentes: principal, secundario, de compilación y de revisión. Los componentes principal y secundario son obligatorios; los componentes de compilación y revisión son opcionales, pero, si se define el componente de revisión, el de compilación es necesario. Todos los componentes definidos deben ser enteros mayores o iguales que 0. El formato del número de versión es como sigue (los componentes opcionales se muestran entre corchetes ([ y ]):

major.minor[.build[.revision]]

Por convención, los componentes se utilizan de la forma siguiente:

  • Major: los ensamblados que tengan 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 en el que no se puede asumir la compatibilidad con los anteriores.

  • Minor: si el nombre y el número de versión principal de dos ensamblados son iguales, pero el número de versión secundaria es diferente, esto significa que se ha producido una mejora importante en lo que se refiere a la intención de compatibilidad con los 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 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 código fuente. Se pueden utilizar números de compilación diferentes cuando el cambia el procesador, la plataforma o el compilador.

  • Revision: los ensamblados con el mismo nombre e iguales números de versión principal y secundaria pero con revisiones diferentes están pensados para ser completamente intercambiables. Un número de revisión más alto se puede usar en una compilación que resuelve una vulnerabilidad de seguridad en un ensamblado de una versión anterior.

Las versiones posteriores de un ensamblado que difieran sólo en los números de compilación y revisión se consideran actualizaciones QFE (ingeniería de corrección rápida) de la versión anterior.

A partir de .NET Framework 2.0, las propiedades MajorRevision y MinorRevision permiten identificar una versión provisional de su aplicación que, por ejemplo, corrija un problema hasta que pueda lanzar al mercado una solución permanente. Además, el sistema operativo Windows NT utiliza la propiedad MajorRevision para codificar el número de Service Pack.

Asignar información de versión a los ensamblados

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

Recuperar la información de versión

Los objetos Version se usan con frecuencia para almacenar la información de versión de algún componente de aplicación o sistema (como el sistema operativo), Common Language Runtime, el ejecutable de la aplicación actual o un ensamblado determinado. En los ejemplos siguientes se muestran algunos de los escenarios más comunes:

  • Recuperar la versión del sistema operativo. En el ejemplo siguiente se usa la propiedad OperatingSystem.Version 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 la propiedad Environment.Version para 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());
    
    
    
  • Recuperar la versión de la aplicación actual. En el ejemplo siguiente se usa el método Assembly.GetEntryAssembly para obtener una referencia a un objeto Assembly que representa el ejecutable de la aplicación y, a continuación, se recupera su número de versión.

    
    // 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());
    
    
    
  • Recuperar la versión del ensamblado actual. En el ejemplo siguiente se usa el método Assembly.GetExecutingAssembly para obtener una referencia a un objeto Assembly que representa el ensamblado actual y, a continuación, se recupera su información de versión.

    
    // Get the version of the current application.
    Assembly assem = Assembly.GetExecutingAssembly();
    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 método Assembly.ReflectionOnlyLoadFrom para obtener una referencia a un objeto Assembly con un nombre de archivo determinado y, a continuación, se recupera su información de versión. Tenga en cuenta que también existen otros métodos para crear instancias de un objeto Assembly por nombre de archivo o por nombre seguro.

    
    // 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());
    
    
    

Comparar objetos de versión

Puede utilizar el método CompareTo para determinar si un objeto Version es anterior a, igual que o posterior a un segundo objeto Version. El siguiente ejemplo 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 ser igual, los número mayor, menor, de compilación y de revisión del primer objeto Version deben ser idénticos a los del segundo objeto Version. Si la compilación o el número de revisión de un objeto Version es indefinido, se considera que el objeto Version es anterior que un objeto Version cuya compilación o número de revisión es igual a cero. En el siguiente ejemplo se muestra esto comparando tres objetos Version que tienen componentes de versión indefinidos.


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 siguiente ejemplo se utiliza el atributo AssemblyVersionAttribute 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 utiliza el método Assembly.GetExecutingAssembly para obtener una referencia al ensamblado ejecutable y recupera la información de versión del ensamblado de la propiedad Version del objeto AssemblyName devuelta por el método Assembly.GetName.


using System;
using System.Reflection;

[assembly:AssemblyVersionAttribute("2.0.1")]

public class Example1
{
   public static void Main()
   {
      Assembly thisAssem = Assembly.GetExecutingAssembly();
      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.


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Compatible con:

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

date

Historial

Motivo

Junio de 2010

Información agregada sobre cómo comparar los objetos Version.

Mejora de la información.

Mostrar: