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
|
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.
Assembly : mscorlib (dans mscorlib.dll)
Le type Version expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
Version() | Initialise une nouvelle instance de la classe Version. |
|
Version(String) | Initialise une nouvelle instance de la classe Version à l'aide de la chaîne spécifiée. |
|
Version(Int32, Int32) | Initialise une nouvelle instance de la classe Version à l'aide des valeurs de numéros major et minor spécifiées. |
|
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. |
|
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. |
| Nom | Description | |
|---|---|---|
|
Build | Obtient la valeur du composant build du numéro de version de l'objet Version en cours. |
|
Major | Obtient la valeur du composant principal du numéro de version de l'objet Version en cours. |
|
MajorRevision | Obtient les 16 bits de poids fort du numéro de révision. |
|
Minor | Obtient la valeur du composant secondaire du numéro de version de l'objet Version en cours. |
|
MinorRevision | Obtient les 16 bits de poids faible du numéro de révision. |
|
Revision | Obtient la valeur du composant révision du numéro de version de l'objet Version en cours. |
| Nom | Description | |
|---|---|---|
|
Clone | Retourne un nouvel objet Version dont la valeur est identique à celle de l'objet Version en cours. |
|
CompareTo(Object) | Compare l'objet Version en cours à un objet spécifié et retourne une indication de leurs valeurs relatives. |
|
CompareTo(Version) | Compare l'objet Version en cours à un objet Version spécifié et retourne une indication de leurs valeurs relatives. |
|
Equals(Object) | Retourne une valeur indiquant si l'objet Version en cours est identique à un objet spécifié. (Substitue Object.Equals(Object).) |
|
Equals(Version) | Retourne une valeur indiquant si l'objet Version en cours et un objet Version spécifié représentent la même valeur. |
|
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.) |
|
GetHashCode | Retourne un code de hachage pour l'objet Version en cours. (Substitue Object.GetHashCode().) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
Parse | Convertit la représentation sous forme de chaîne d'un numéro de version en un objet Version équivalent. |
|
ToString() | Convertit la valeur de l'objet Version en cours en sa représentation String équivalente. (Substitue Object.ToString().) |
|
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. |
|
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. |
| Nom | Description | |
|---|---|---|
|
Equality | Détermine si deux objets Version spécifiés sont identiques. |
|
GreaterThan | Détermine si le premier objet Version spécifié est supérieur au second objet Version spécifié. |
|
GreaterThanOrEqual | Détermine si le premier objet Version spécifié est supérieur ou égal au second objet Version spécifié. |
|
Inequality | Détermine si deux objets Version spécifiés ne sont pas identiques. |
|
LessThan | Détermine si le premier objet Version spécifié est inférieur au second objet Version spécifié. |
|
LessThanOrEqual | Détermine si le premier objet Version spécifié est inférieur ou égal au second objet Version. |
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.
-
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.
-
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.
-
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.
-
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.
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.