Quelles sont les différences entre AssemblyVersion, AssemblyFileVersion et AssemblyInformationalVersion ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Quelles sont les différences entre AssemblyVersion, AssemblyFileVersion et AssemblyInformationalVersion ?

Message par ForumBot »

Quelles sont les différences entre AssemblyVersion, AssemblyFileVersion et AssemblyInformationalVersion ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Quelles sont les différences entre AssemblyVersion, AssemblyFileVersion et AssemblyInformationalVersion ?

Message par ayi »

AssemblyVersion


C’est l’endroit où les autres assemblages qui référencent le vôtre vont chercher. Si ce numéro change, les autres assemblages doivent mettre à jour leurs références vers votre assemblage ! Ne mettez à jour cette version que si cela casse la rétrocompatibilité. Le AssemblyVersion est obligatoire.


J’utilise le format : majeur.mineur (et majeur pour les bases de code très stables). Cela donnerait :


[assembly: AssemblyVersion("1.3")] // in AssemblyInfo.cs

<AssemblyVersion>1.3</AssemblyVersion> // in .csproj


Si vous suivez strictement le SemVer, cela signifie que vous ne mettez à jour que lorsque le majeur change, donc 1.0, 2.0, 3.0, etc.


AssemblyFileVersion


Utilisé pour le déploiement (comme les programmes d’installation). Vous pouvez incrémenter ce numéro pour chaque déploiement. Utilisez-le pour distinguer les assemblages qui ont le même AssemblyVersion mais qui sont générés à partir de compilations et/ou de code différents.


Sous Windows, il peut être consulté dans les propriétés du fichier.


Le AssemblyFileVersion est optionnel. S’il n’est pas spécifié, le AssemblyVersion est utilisé.


J’utilise le format : majeur.mineur.correctif.build, où je suis le SemVer pour les trois premières parties et j’utilise le numéro de build du serveur de build pour la dernière partie (0 pour un build local).

Cela donnerait :


[assembly: AssemblyFileVersion("1.3.2.42")] // in AssemblyInfo.cs

<FileVersion>1.3.2.42</FileVersion> // in .csproj


Sachez que System.Version nomme ces parties major.minor.build.revision !


AssemblyInformationalVersion


La version produit de l’assemblage. C’est la version que vous utiliseriez en parlant aux clients ou pour l’affichage sur votre site web. Cette version peut être une chaîne, comme ‘1.0 Release Candidate’.


Le AssemblyInformationalVersion est optionnel. S’il n’est pas spécifié, le AssemblyFileVersion est utilisé.


J’utilise le format : majeur.mineur[.correctif] [révision sous forme de chaîne]. Cela donnerait :


[assembly: AssemblyInformationalVersion("1.3 RC1")] // in AssemblyInfo.cs

<InformationalVersion>

*(Réponse tronquée)*
Répondre

Revenir à « .NET & C# »