<p><strong>AssemblyVersion</strong></p>
<p>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 <code>AssemblyVersion</code> est obligatoire.</p>
<p>J’utilise le format : <em>majeur.mineur</em> (et <em>majeur</em> pour les bases de code très stables). Cela donnerait :</p>
<pre><code class="lang-auto">[assembly: AssemblyVersion("1.3")] // in AssemblyInfo.cs
<AssemblyVersion>1.3</AssemblyVersion> // in .csproj
</code></pre>
<p>Si vous suivez strictement le <a href="https://semver.org/">SemVer</a>, cela signifie que vous ne mettez à jour que lorsque le <em>majeur</em> change, donc 1.0, 2.0, 3.0, etc.</p>
<p><strong>AssemblyFileVersion</strong></p>
<p>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 <code>AssemblyVersion</code> mais qui sont générés à partir de compilations et/ou de code différents.</p>
<p>Sous Windows, il peut être consulté dans les propriétés du fichier.</p>
<p>Le AssemblyFileVersion est optionnel. S’il n’est pas spécifié, le AssemblyVersion est utilisé.</p>
<p>J’utilise le format : <em>majeur.mineur.correctif.build</em>, où je suis le <a href="https://semver.org/">SemVer</a> 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).<br>
Cela donnerait :</p>
<pre><code class="lang-auto">[assembly: AssemblyFileVersion("1.3.2.42")] // in AssemblyInfo.cs
<FileVersion>1.3.2.42</FileVersion> // in .csproj
</code></pre>
<p>Sachez que <a href="https://learn.microsoft.com/en-us/dotnet/api/system.version">System.Version</a> nomme ces parties <code>major.minor.build.revision</code> !</p>
<p><strong>AssemblyInformationalVersion</strong></p>
<p>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 ‘<em>1.0 Release Candidate</em>’.</p>
<p>Le <code>AssemblyInformationalVersion</code> est optionnel. S’il n’est pas spécifié, le AssemblyFileVersion est utilisé.</p>
<p>J’utilise le format : <em>majeur.mineur[.correctif] [révision sous forme de chaîne]</em>. Cela donnerait :</p>
<pre><code class="lang-auto">[assembly: AssemblyInformationalVersion("1.3 RC1")] // in AssemblyInfo.cs
<InformationalVersion>
(Réponse tronquée)</code></pre>