Accueil > Articles > Incrémentation automatique du numéro de version

Incrémentation automatique du numéro de version

Voici une petite astuce, pourtant assez connue des développeurs .NET, mais sur laquelle j’ai quand même récemment bloqué faute de l’avoir l’utilisé pendant un certain temps.

Il est en fait assez fréquent de vouloir laisser Visual Studio gérer tout seul le numéro de version des projets (composé de 4 numéros : Major.Minor.Build.Revision). Plus précisément, il est possible de laisser les valeurs par défaut pour les deux derniers numéros : le numéro de build (qui s’incrémente quotidiennement) et le numéro de révision (qui est aléatoire à chaque compilation).

Pour cela il suffit juste de remplacer l’un de ces deux numéros par un astérisque dans les propriétés de l’assembly. Mon premier réflexe a donc été de faire cette modification via la page de propriétés du projet, sous l’onglet Application -> Informations de l’assembly : 

Fenêtre de propriétés du projet

Fenêtre de propriétés du projet

 

 Puis de faire la modification pour les numéros de version de l’assembly et du fichier :

01_Screen_02

 

Curieusement, Visual Studio n’accepte pas cette modification pour le numéro de version du fichier, alors qu’elle fonctionne correctement pour celui de l’assembly : 

01_Screen_03

 

C’est un peu dommage car c’est justement le numéro de version du fichier qui est le plus intéressant ici, car c’est celui qui est directement affiché dans l’explorateur de Windows. On va donc essayer de faire la modification de façon plus traditionnelle, c’est-à-dire en manipulant directement le ficher AssemblyInfo.cs :

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

 

Le compilateur accepte cette nouvelle valeur, cependant ça ne fonctionne toujours pas. Le numéro de version du fichier dans l’explorateur Windows ne change pas, même en régénérant la solution :

01_Screen_04

Propriétés du fichier

 

Étant donné que l’incrémentation automatique du numéro de version de l’assembly semble fonctionner correctement on va donc tenter une autre approche, cette fois en désactivant complètement ce qui nous pose problème, à savoir le numéro de version de fichier :

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

 

Et voilà ça marche ! Désormais le numéro de version du fichier s’incrémente aussi automatiquement, puisqu’il correspond en fait à celui de l’assembly. Par contre il n’est plus possible de distinguer ces deux numéros (assembly et fichier). La boîte de dialogue « Informations de l’assembly » permettra par la suite de modifier les numéros mineur et majeur, à condition de ne rien mettre dans les champs, désormais vides, du numéro de version de fichier : 

01_Screen_05

 

Pour finir je regrette un peu que le problème de la boîte de dialogue « Informations de l’assembly » n’ai pas été corrigé entre Visual Studio 2005 et 2008. Dommage aussi que cette option ne soit pas plus accessible dans l’interface graphique de Visual Studio, comme c’est le cas par exemple pour le numéro de version de publication (onglet « Publier » dans les propriétés du projet) :

Options de publication

Options de publication

Categories: Articles Tags: , ,
  1. Pas encore de commentaire
  1. Pas encore de trackbacks