Utiliser les attributs AssemblyVersion et AssemblyFileVersion

Cet article explique comment utiliser AssemblyVersion les attributs et AssemblyFileVersion dans le fichier AssemblyInfo.cs.

Version d’origine du produit : .NET Framework
Numéro de la base de connaissances d’origine : 556041

Résumé

AssemblyInfo.cs fournit deux attributs pour définir deux types de versions différents. Ce conseil montre comment utiliser ces deux attributs.

Microsoft .NET Framework offre la possibilité de définir deux types de numéros de version différents pour chaque assembly.

AssemblyVersion

Il s’agit du numéro de version utilisé par l’infrastructure pendant la génération et au moment de l’exécution pour localiser, lier et charger les assemblys. Lorsque vous ajoutez une référence à un assembly dans votre projet, c’est ce numéro de version qui est incorporé. Au moment de l’exécution, le Common Language Runtime (CLR) recherche l’assembly avec ce numéro de version à charger. Toutefois, n’oubliez pas que cette version est utilisée avec le nom, le jeton de clé publique et les informations de culture uniquement si les assemblys sont signés avec un nom fort. Si les assemblys ne sont pas signés avec un nom fort, seuls les noms de fichiers sont utilisés pour le chargement.

AssemblyFileVersion

Il s’agit du numéro de version donné au fichier comme dans le système de fichiers. Il est affiché par Windows Explorer et n’est jamais utilisé par le .NET Framework ou le runtime pour le référencement.

Attributs dans AssemblyInfo.cs

// Version information for an assembly consists of the following four values:
// Major Version
// Minor Version
// Build Number
// Revision
[assembly: AssemblyVersion("1.0.0.0")]  
[assembly: AssemblyFileVersion("1.0.0.0")]

Le fait de fournir un (*) à la place d’un nombre absolu permet au compilateur d’augmenter le nombre d’une fois que vous générez.

Supposons que vous générez un assembly d’infrastructure pour votre projet qui est utilisé par de nombreux développeurs lors de la création des assemblys d’application. Si vous publiez fréquemment une nouvelle version de l’assembly, par exemple une fois par jour, et si les assemblys ont un nom fort, les développeurs devront modifier la référence chaque fois que vous publiez un nouvel assembly. Il peut être fastidieux et peut également conduire à des références incorrectes. Une meilleure option dans ces scénarios de groupe fermé et volatiles consisterait à corriger et AssemblyVersion à modifier uniquement le AssemblyFileVersion. Utilisez le numéro de version du fichier d’assembly pour communiquer la dernière version de l’assembly. Dans ce cas, les développeurs n’auront pas besoin de modifier les références et ils peuvent remplacer l’assembly dans le chemin d’accès de référence. Dans les builds de version centrale ou finale, il est plus logique de modifier et de AssemblyVersion conserver le même que la version de l’assembly AssemblyFileVersion .