¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

Version (Clase)

Actualización: Julio de 2008

Representa el número de versión de un ensamblado de Common Language Runtime. No se puede heredar esta clase.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class Version : ICloneable, 
	IComparable, IComparable<Version>, IEquatable<Version>
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public final class Version implements ICloneable, 
	IComparable, IComparable<Version>, IEquatable<Version>
public final class Version implements ICloneable, IComparable, IComparable<Version>, IEquatable<Version>

Utilice un objeto Version para almacenar y comparar el número de versión de un ensamblado. Observe que usted o una aplicación puede establecer un objeto Version en el número de versión de un ensamblado. Sin embargo, un objeto Version no se establece automáticamente en el número de versión de un ensamblado determinado y la clase Version no tiene miembros que puedan adquirir dicha información.

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 el siguiente. Los componentes opcionales aparecen 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. Esto sería lo adecuado, por ejemplo, para 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 principal de dos ensamblados son iguales, pero el número secundario 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. Esto sería lo adecuado, por ejemplo, en el lanzamiento de un producto o en el caso de una nueva versión de un producto completamente compatible con las anteriores versiones.

  • Build: Una diferencia en el número de compilación representa una recompilación del mismo origen. Esto sería lo adecuado por los cambios de procesador, plataforma o de 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. Esto sería lo conveniente para solucionar un problema de seguridad en un ensamblado 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.

Esta clase implementa las interfaces ICloneable, IComparable, IComparable<T> y IEquatable<T>.

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 lugar de ello, la clase AssemblyVersionAttribute se usa para definir la versión de un ensamblado.

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

En el ejemplo de código siguiente se utiliza la clase Assembly para obtener el objeto Version que identifica un ensamblado.

// This code example demonstrates the Version class.

/* 
   This code example loads an assembly and retrieves its 
   version number. 
   Typically, you would use code similar to this example 
   to load a separate assembly and obtain its version number. 
   However, solely to avoid using another assembly, this code 
   example loads itself and retrieves its own version number. 

   This code example is created in two steps:
1) The AssemblyVersionAttribute attribute is applied to this 
   code example at the assembly level. Then the code example 
   is compiled into the MyAssembly.exe executable assembly.
2) When MyAssembly.exe is executed, it loads itself, then 
   displays its own version number. 
*/

using System;
using System.Reflection;

// Apply the version number, 1.2.3.4, to this assembly.
[assembly:AssemblyVersionAttribute("1.2.3.4")]
class Sample 
{
    public static void Main() 
    {
// Use the Assembly class to load MyAssembly.exe. Note that
// the name of the assembly does not include the ".exe" suffix
// of the executable file.

    Assembly myAsm = Assembly.Load("MyAssembly");
    AssemblyName aName = myAsm.GetName();

// Store the version number in a Version object.
    Version ver = aName.Version;

// Display the version number of MyAssembly.
    Console.WriteLine(ver);
    }
}

/*
This code example produces the following results:

1.2.3.4

*/


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.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

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

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0

Fecha

Historial

Motivo

Julio de 2008

Se han agregado secciones sobre la asignación y la recuperación de información de versión a la sección Comentarios.

Comentarios de los clientes.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft