Snippet #25 ~ C# : Récupérer un n° de version automatique à chaque build

Quoi de plus barbant que de devoir incrémenter le numéro de version de votre programme à chaque nouveau build?

Le snippet ci dessous vous permet la récupération du numéro de version de votre programme ainsi que du numéro de build sous la forme :

V1.0 R1310160959

V1.0 : Numéro de version noté dans l’assembly (version major et minor)
R1310160959 : Numéro de révision auto généré en fonction de la date ddmmyy + le timestamp du dernier build

Ainsi à chaque génération les 4 derniers chiffres au minimum changeront ce qui vous permet d’effectuer plusieurs build dans la même journée sans avoir à modifier manuellement quoique ce soit.

var veVersion = Assembly.GetExecutingAssembly().GetName().Version;
FileInfo fileInfo = new System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);
String strVersion =  " V" + version.Major + "." + version.Minor + " R" + fileInfo.LastWriteTime.ToString("ddMMyyHHmm");

 

12 réactions au sujet de « Snippet #25 ~ C# : Récupérer un n° de version automatique à chaque build »

  1. matf Réponse

    Dans ton AssemblyInfo.cs, dans ton AssemblyVersion, si tu mets un * dans le n° de version, il sera incrémenté à chaque build. Alors ça ne donne pas un n° de build correspondant à la date de build, mais ça te donne une idée.
    Exemple : [assembly: AssemblyVersion(“1.0.0.*”)]

    D’ailleurs, question : avec ta méthode, si on télécharge la DLL (ou si on copie qque part), peut-être qu’elle n’aura pas la même date d’écriture que celle de build ?

    • Idleman Auteur ArticleRéponse

      Oui j’ai déjà essayé le truc de l’étoile sur le AssemblyVersion et sur le AssemblyFileVersion mais curieusement chez moi ça ne s’incrémente pas…
      si on télécharge ou qu’on copie ça ne modifie pas la date, on l’a transmise a pas mal de clients sous pas mal de forme (ftp/lecteur reseau/clé/cloud) et ya jamais eu de qwak jusqu’ici

  2. Matt Réponse

    Sympa le snippet 🙂
    Pour info : s’il s’agit de modifier le numéro de version de l’assembly généré par Visual, tu peux modifier l’attribut AssemblyVersion du fichier AssemblyInfo.cs (sous Properties) et mettre un * dans le numéro de version (ex : 1.8.*) et c’est MSBuild à la compil qui incrémentera tout seul ce numéro de revision 😉

    • Idleman Auteur ArticleRéponse

      Tiens donc un revenant ! 😀 Comment vas ?
      Oui j’ai déjà essayé le truc de l’étoile sur le AssemblyVersion et sur le AssemblyFileVersion mais curieusement chez mois ça ne s’incrémente pas, il faut dire que c’est chez un client ou j’ai un visualstudio de l’espace avec la surcouche corporate bien restrictive donc ça viens peut être de là.

      • Matt Réponse

        Ben ça va ! Ça faisait un bail que j’avais pas traîné sur ton blog …
        Tes tutos sont vachement clairs et ça me rappel mes cours d’électronique de BTS !! Nostalgie …
        Du coup j’ai commandé un Raspberry Pi 3 sur Amazon ^^
        Y a pleins de projets qui me trottent dans la tête maintenant 🙂

        • Idleman Auteur ArticleRéponse

          Yeay ça y est tu t’y met ! Fais gaffe ça deviens vite chronophage comme passe temps :p

          Si la partie sur les arduino t’intéresse, je te conseille de te renseigner aussi sur les Esp8266 Witty / Gizwits c’est une nouvelle petite carte qui déchire pas mal du steak, elle est à 2/3€ (plateforme de programmation détachable incluse) elle intègre en native une carte wifi + une led rgb + capteur luminosité + un bouton poussoir, elle dispose de 4mo d’espace (1 pour le code, 3 pour les data) et globalement elle bat l’arduino (et les atmega) sur tous les plans (horloge interne plus rapide, plus de place etc..) et ça peut se programmer direct depuis l’arduino ide avec le même langage, je pense en parler sous peu sur le blog j’attends de recevoir mon exemplaire pour le plugger a mon ouverture par empreinte digitale de labo.

          nb : Sympa ton site web, j’aime beaucoup la page par défaut nginx 😀 !

          • Matt

            Je vais surement passer souvent sur ton blog parce que j’avouerais que ce dont tu me parles me dépasse un peut 😀 Arduino OK, les compos toujours OK, mais alors Witty / Gizwits .. WTF ?!? ^^ J’ai des idées de domotique mais j’ai pas encore la maison qui va avec on est tout juste en recherche donc le temps de trouver je vais pouvoir commencer à faire mumuse avec la bête !
            J’avoue que la page par défaut nginx ça la fout mal !! j’ai changé de VPS y a pas longtemps et j’ai rmigré d’Apache à nginx par la même occase du coup ça manque peut être encore de 2 ou 3 redirections :p

          • Idleman Auteur Article

            Wow bonne chance pour la baraque, c’est toujours folklo a trouver ^^ surtout si t’es toujours a bourge ça doit pas être donné ^^’.
            Pour résumer Witty / Gizwit c’est un fork de la carte esp8266 qui est elle même très similaire a l’arduino mais en mieux car plein de trucs pré-intégré dedans pour le même prix.

            Perso j’ai la maison depuis un an et demi et j’ai toujours rien domotisé ^^, faut d’abord motiser avant 😀 alors je fais surtout du btp rénovation

          • Barti

            C’est ca pour le moment il est inconscient de ce qui l’attend avec la baraque! 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.