. Net AssemblyName.Version Build versus révision

La documentation MSDN indique:

Numéros de Version se composent de deux à quatre composants: majeur, mineur, construire, et révision. La majeure et la mineure composants sont nécessaires; la construction et les composants de révision sont facultatifs, mais le composant build est requis si le le composant de révision est défini. Tout les composants définis doivent être des entiers supérieur ou égal à 0.

Le format du numéro de version est le suivant suit (les composants facultatifs sont montrés dans les crochets ([ et ]): majeur.mineur[.construire[.révision]] le les composants sont utilisés par convention comme suit:

  • Major: assemblées portant le même nom mais les différentes versions majeures ne le sont pas interchangeable. Une version supérieure nombre peut indiquer une réécriture majeure d'un produit où l'arrière la compatibilité ne peut être assumée.

  • Mineur: Si le nom et le majeur numéro de version sur deux assemblages sont le même, mais le numéro de version mineur être différent, cela indique amélioration significative avec le intention de rétrocompatibilité. Ce numéro de version mineur plus élevé peut indiquer une libération ponctuelle d'un produit ou un nouveau entièrement rétrocompatible la version d'un produit.

  • Construire: Une différence dans le numéro de build représente une recompilation du même source. Différents numéros de version peut être utilisé lorsque le processeur, plate-forme, ou les changements du compilateur.

  • Révision: assemblages avec le même noms, numéros de version majeurs et mineurs mais différentes révisions sont prévues pour être entièrement interchangeable. Plus numéro de révision peut être utilisé dans un Construire qui corrige un trou de sécurité dans un assemblage précédemment publié.

Versions ultérieures d'un assembly qui ne diffèrent que par la construction ou la révision les numéros sont considérés comme correctifs les mises à jour de la version précédente.

Ma question concerne la signification des termes Build et La révision de ce contexte.

Il me semble que dans le langage général, nous faisons des "builds" quand il y a des changements dans la source. Ainsi, "build 678" et "build 679" sont différents précisément parce que les sources sont différentes d'une certaine manière - généralement à la suite d'une vérification d'une source modifiée. Il me semble que la définition. net utilise " Revision "de la manière dont on utilise généralement"build".

Est-ce que quelqu'un utilise la définition ci-dessus dans son versioning? Si oui pouvez vous donner des exemples concrets de pourquoi vous avez fait?

26
demandé sur Matthew Scharley 2010-07-19 11:44:15

2 réponses

Les versions suivantes d'un assembly qui ne diffèrent que par les numéros de build ou de révision sont considérées comme des mises à jour de correctif de la version précédente.

Cette section explique la différence. La révision est utilisée lorsque votre produit a été expédié et que vous devez apporter des correctifs à une version expédiée pendant que vous progressez déjà avec les mises à jour.

Par exemple 1.1.10.0 Navires. Je fais de petits changements à la fonctionnalité et je suis à 1.1.20.0 quand je reçois une alerte de sécurité qui a besoin fixer. Je ne peux pas incrémenter 1.1.10.0 à 1.1.11.0, car cela représente autre chose. J'utilise donc 1.1.10.1 pour identifier qu'il s'agit d'une révision du code 1.1.10.0.

J'espère que c'est un peu plus clair que la boue. Rappelez-vous également la taille de l'entreprise et la taille des projets logiciels qu'ils expédient qui sont venus avec ces définitions.

21
répondu btlog 2010-07-19 07:59:29

Je suis tout à fait d'accord avec vous ici. Les descriptions données ne font pas beaucoup de sens à moins que vous les interprétez avec une pincée de sel. Pour moi, le dernier des numéros de version devrait signifier construire, c'est à dire le nombre qui est mis à jour sur chaque compilation. Les autres chiffres représentent différents degrés de changement au logiciel/API.

En pratique, c'est ainsi que les numéros de version sont généralement utilisés. (Certainement, comment je les utilise.)

  • Les Principaux - augmentation de la lorsque le jeu de fonctionnalités / API du logiciel change de manière significative

  • Mineur - augmenté lorsque des modifications notables sont apportées, des modifications mineures de L'API ou l'ajout de nouvelles fonctionnalités

  • Build - augmenté lorsque des modifications mineures sont apportées, généralement des corrections de bugs et des améliorations (bien qu'aucune modification de L'API)

  • Revision - un ID/numéro unique qui représente l'instance de construction

2
répondu Noldorin 2018-02-09 17:44:59