Astuces de version de AssemblyInfo

Il est dit dans AssemblyInfo.cs pour les projets C # qu’il est possible de spécifier les informations de version avec *

 // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] 

Je l’ai changé en ceci:

 [assembly: AssemblyVersion("1.0.*.*")] [assembly: AssemblyFileVersion("1.0.*.*")] 

et c’est l’erreur que je reçois du compilateur:

 error CS0647: Error emitting 'System.Reflection.AssemblyVersionAtsortingbute' atsortingbute -- 'The version specified '1.0.*.*' is invalid' warning CS1607: Assembly generation -- The version '1.0.*.*' specified for the 'file version' is not in the normal 'major.minor.build.revision' format 

Comment ça marche?

La syntaxe (voir MSDN ) pour le numéro de build “automatique” peut être:

 [assembly: AssemblyVersion("1.0.0.*")] 

ou:

 [assembly: AssemblyVersion("1.0.*")] 

* signifie ensuite que tout est automatique . Vous ne pouvez pas avoir de numéro de build automatique et de numéro de révision fixe alors cette syntaxe n’est pas correcte:

 [assembly: AssemblyVersion("1.0.*.0")] 

Pour AssemblyFileVersionAtsortingbute vous ne pouvez pas utiliser le caractère spécial * , vous devez donc fournir un numéro de version complet et valide. Veuillez noter que si vous ne fournissez pas AssemblyFileVersionAtsortingbute vous obtiendrez automatiquement le FileVersionInfo (avec la même version de AssemblyVersionAtsortingbute ). Vous devez spécifier cet atsortingbut uniquement si vous devez définir une version différente.

 [assembly: AssemblyVersion("1.0.*")] //[assembly: AssemblyFileVersion("1.0.*")] 

n’oubliez pas de commenter la ligne AssemblyFileVersion, sinon la version de l’assembly générée automatiquement sera toujours “1.0.0.0”.

A mon avis, en utilisant [assembly: AssemblyVersion("xyz*")] , Patch ne doit pas être automatiquement numéroté. Par exemple:

[assembly: AssemblyVersion (“1.2.3. *”)]

Utiliser ‘*’ dans AssemblyVersion est une bonne chose, mais suivez seemver.org nous devrions utiliser * pour la partie revision de la structure de version ... ).

Étant donné un numéro de version MAJOR.MINOR.PATCH, incrémentez le:

Version MAJOR lorsque vous apportez des modifications incompatibles à l’API,

Version MINOR lorsque vous ajoutez des fonctionnalités de manière rétro-compatible, et

Version PATCH lorsque vous apportez des corrections de bogues rétro-compatibles.