Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Version, classe

Représente le numéro de version d'un assembly, système d'exploitation ou du common language runtime. Cette classe ne peut pas être héritée.

System.Object
  System.Version

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class Version : ICloneable, 
	IComparable, IComparable<Version>, IEquatable<Version>

Le type Version expose les membres suivants.

  Nom Description
Méthode publique Version() Initialise une nouvelle instance de la classe Version.
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Version(String) Initialise une nouvelle instance de la classe Version à l'aide de la chaîne spécifiée.
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Version(Int32, Int32) Initialise une nouvelle instance de la classe Version à l'aide des valeurs de numéros major et minor spécifiées.
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Version(Int32, Int32, Int32) Initialise une nouvelle instance de la classe Version à l'aide des valeurs de numéros major et minor spécifiées.
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Version(Int32, Int32, Int32, Int32) Initialise une nouvelle instance de la classe Version avec les numéros major, minor, build et revision spécifiés.
Début
  Nom Description
Propriété publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Build Obtient la valeur du composant build du numéro de version de l'objet Version en cours.
Propriété publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Major Obtient la valeur du composant principal du numéro de version de l'objet Version en cours.
Propriété publique MajorRevision Obtient les 16 bits de poids fort du numéro de révision.
Propriété publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Minor Obtient la valeur du composant secondaire du numéro de version de l'objet Version en cours.
Propriété publique MinorRevision Obtient les 16 bits de poids faible du numéro de révision.
Propriété publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Revision Obtient la valeur du composant révision du numéro de version de l'objet Version en cours.
Début
  Nom Description
Méthode publique Pris en charge par XNA Framework Clone Retourne un nouvel objet Version dont la valeur est identique à celle de l'objet Version en cours.
Méthode publique Pris en charge par XNA Framework CompareTo(Object) Compare l'objet Version en cours à un objet spécifié et retourne une indication de leurs valeurs relatives.
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif CompareTo(Version) Compare l'objet Version en cours à un objet Version spécifié et retourne une indication de leurs valeurs relatives.
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Equals(Object) Retourne une valeur indiquant si l'objet Version en cours est identique à un objet spécifié. (Substitue Object.Equals(Object).)
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Equals(Version) Retourne une valeur indiquant si l'objet Version en cours et un objet Version spécifié représentent la même valeur.
Méthode protégée Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif GetHashCode Retourne un code de hachage pour l'objet Version en cours. (Substitue Object.GetHashCode().)
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique Membre statique Parse Convertit la représentation sous forme de chaîne d'un numéro de version en un objet Version équivalent.
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif ToString() Convertit la valeur de l'objet Version en cours en sa représentation String équivalente. (Substitue Object.ToString().)
Méthode publique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif ToString(Int32) Convertit la valeur de l'objet Version en cours en sa représentation String équivalente. Un nombre spécifié indique le nombre de composants à retourner.
Méthode publique Membre statique TryParse Essaie de convertir la représentation sous forme de chaîne d'un numéro de version en un objet Version équivalent et retourne une valeur indiquant si la conversion a réussi.
Début
  Nom Description
Opérateur public Membre statique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Equality Détermine si deux objets Version spécifiés sont identiques.
Opérateur public Membre statique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif GreaterThan Détermine si le premier objet Version spécifié est supérieur au second objet Version spécifié.
Opérateur public Membre statique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif GreaterThanOrEqual Détermine si le premier objet Version spécifié est supérieur ou égal au second objet Version spécifié.
Opérateur public Membre statique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif Inequality Détermine si deux objets Version spécifiés ne sont pas identiques.
Opérateur public Membre statique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif LessThan Détermine si le premier objet Version spécifié est inférieur au second objet Version spécifié.
Opérateur public Membre statique Pris en charge par XNA Framework hdxyt63s.PortableClassLibrary(fr-fr,VS.100).gif LessThanOrEqual Détermine si le premier objet Version spécifié est inférieur ou égal au second objet Version.
Début

Les numéros de version comportent de deux à quatre composants : principal, secondaire, build et révision. Les composants principal et secondaire sont obligatoires ; les composants build et révision sont facultatifs, mais le composant build est obligatoire si le composant révision est défini. Tous les composants définis doivent être des entiers supérieurs ou égaux à 0. Le format du numéro de version est comme suit (les composants facultatifs sont affichés entre crochets ([ et ]) :

major.minor[.build[.revision]]

Les composants sont utilisés par convention de la façon suivante :

  • Major : Les assemblys portant le même nom, mais ayant des versions principales différentes, ne sont pas interchangeables. Un numéro de version supérieur peut indiquer une réécriture majeure d'un produit lorsque la compatibilité descendante ne peut pas être assumée.

  • Secondaire : Si le nom et le numéro de version principal de deux assemblys sont identiques, mais que le numéro de version secondaire est différent, cela indique une amélioration significative avec intention de conserver une compatibilité descendante. Ce numéro de version secondaire supérieur peut indiquer une version ponctuelle d'un produit ou une nouvelle version d'un produit dont la compatibilité descendante est totale.

  • Build : une différence dans le numéro de build représente une recompilation de la même source. Différents numéros de build peuvent être utilisés lorsque le processeur, la plateforme ou le compilateur change.

  • Révision : Les assemblys portant le même nom et les mêmes numéros de versions principale et secondaire, mais ayant des révisions différentes sont destinés à être totalement interchangeables. Un numéro de révision supérieur peut être utilisé dans un build qui résout une faille de sécurité dans une version précédente d'un assembly.

Les versions suivantes d'un assembly, lorsqu'elles ne diffèrent que par les numéros de build ou de révision, sont considérées comme des mises à jour correctives de la version précédente.

À partir du .NET Framework 2.0, les propriétés MajorRevision et MinorRevision vous permettent d'identifier une version temporaire de votre application qui, par exemple, résout un problème en attendant la diffusion d'une solution permanente. En outre, le système d'exploitation Windows NT utilise la propriété MajorRevision pour encoder le numéro de Service Pack.

Assignation des informations de version aux assemblys

D'ordinaire, la classe Version n'est pas utilisée pour assigner un numéro de version à un assembly. Au lieu de cela, la classe AssemblyVersionAttribute est utilisée pour définir la version d'un assembly, comme l'illustre l'exemple dans cette rubrique.

Récupération des informations de version

Les objets Version sont plus fréquemment utilisés pour stocker des informations de version au sujet d'un composant du système ou d'une application (tel que le système d'exploitation), du Common Language Runtime, du fichier exécutable de l'application active ou d'un assembly particulier. Voici quelques exemples des scénarios les plus courants :

  • Récupération de la version du système d'exploitation. L'exemple suivant utilise la propriété OperatingSystem.Version pour récupérer le numéro de version du système d'exploitation.

    
    // Get the operating system version.
    OperatingSystem os = Environment.OSVersion;
    Version ver = os.Version;
    Console.WriteLine("Operating System: {0} ({1})", os.VersionString, ver.ToString());
    
    
    
  • Récupération de la version actuelle du Common Language Runtime. L'exemple suivant utilise la propriété Environment.Version pour récupérer les informations de version du Common Language Runtime.

    
    // Get the common language runtime version.
    Version ver = Environment.Version;
    Console.WriteLine("CLR Version {0}", ver.ToString());
    
    
    
  • Récupération de la version de l'application active. L'exemple suivant utilise la méthode Assembly.GetEntryAssembly pour obtenir une référence à un objet Assembly qui représente le fichier exécutable de l'application puis récupère son numéro de version.

    
    // 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());
    
    
    
  • Récupération de la version de l'assembly actif. L'exemple suivant utilise la méthode Assembly.GetExecutingAssembly pour obtenir une référence à un objet Assembly qui représente le fichier exécutable de l'assembly actif puis récupère ses informations de version.

    
    // 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());
    
    
    
  • Récupération de la version d'un assembly spécifique. L'exemple suivant utilise la méthode Assembly.ReflectionOnlyLoadFrom pour obtenir une référence à un objet Assembly qui a un nom de fichier particulier, puis récupère ses informations de version. Notez que d'autres méthodes existent pour instancier un objet Assembly par nom de fichier ou par nom fort.

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

Comparaison d'objets Version

Vous pouvez utiliser la méthode CompareTo pour déterminer si un objet Version est antérieur, identique ou postérieur à un deuxième objet Version. L'exemple suivant indique que la version 2.1 est postérieure à la 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.


Pour que les deux versions soient égales, les numéros de version principale, secondaire, de build et de révision du premier objet Version doivent être identiques à ceux du deuxième objet Version. Si le numéro de build ou de révision d'un objet Version est non défini, cet objet Version est considéré comme antérieur à un objet Version dont le numéro de build ou de révision est égal à zéro. L'exemple suivant l'illustre en comparant trois objets Version qui ont des composants de version indéfinis.


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


L'exemple suivant utilise l'attribut AssemblyVersionAttribute pour assigner un numéro de version à un assembly. Au moment de la compilation, ces informations de version sont stockées avec les métadonnées de l'assembly. Au moment de l'exécution, l'exemple utilise la méthode Assembly.GetExecutingAssembly pour obtenir une référence pour l'assembly exécutable, et il extrait les informations de version de l'assembly de la propriété Version de l'objet AssemblyName retourné par la méthode 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

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Date

Historique

Motif

Juin 2010

Informations ajoutées sur la comparaison d'objets Version.

Améliorations apportées aux informations.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ