67 votes

Pourquoi System.Version dans .NET est-il défini comme Major.Minor.Build.Revision?

Pourquoi est-ce Système.Version dans .NET défini comme important.Mineure.Construire.Révision? Presque tout le monde (moi y compris) semble être d'accord que la révision appartient à la troisième place, et de "construction" ou ce que vous voulez l'appeler, il appartient en dernier.

Microsoft fait même d'utiliser les chiffres de cette manière hasardeuse, par exemple 3.5.3858.2, ou sont les noms eux-mêmes à l'envers? Par exemple, si vous écrivez votre propre Version de la classe avec l'ordre Majeur.Mineure.Construire.Révision, serait-il bon pour permuter les deux dernières composantes lors de la conversion à un Système.Version, ou de l'ignorer, et il suffit de faire semblant de les noms sont à l'envers?

33voto

Nick Craver Points 313913

Je pense que la confusion vient de ce que la majorité considère comme une "révision" et de ce que fait Microsoft:

  • Construire: Une différence dans le numéro de build représente une recompilation de la même source. Ce serait approprié parce que du processeur, de la plate-forme, ou le compilateur changements.

  • Révision: Assemblées avec le même nom, les grands et les petits numéros de version, mais de différentes révisions sont destinés à être complètement interchangeables. Ce serait approprié de corriger une faille de sécurité dans un précédemment publiés assemblée.

Le correctif de sécurité de l'angle, sans doute beaucoup plus commun pour eux, semble être un décent raison pour l'avoir en dernier lieu, que les plus "mineur" du changement.

26voto

Charlie Hills Points 126

Je me rends compte que je suis venue à la fête un peu en retard, mais je voulais partager mon twopence sur les raisons de l'ordre de construire et de révision sont "fausses". Ce n'est pas tellement qu'ils sont dans le mauvais ordre, mais qu'ils ne sont pas dans tout l'ordre.

La version de l'assemblée, quand il descend à lui, est Majeure.Mineure. Dans le cadre du lien, Microsoft affirme que, "les versions Ultérieures d'une assemblée qui ne diffèrent que par la construction ou les numéros de révision sont considérés comme des mises à jour de Correctif de l'état de la version." [Je souligne]

Le Build représente une recompilation de la même source. La Révision représente un changement de code, mais qui est entièrement interchangeable avec d'autres révisions de la même [les Grandes.Mineur] version. Mais ni l'emporte sur l'autre.

Donc, en résumé, ne pas penser à elle en tant que:

+ Major
|
+-+ Minor
  |
  +-+ Build
    |
    +-+ Revision

Mais au lieu de cela:

+ Major
|
+-+ Minor
  |
  +-+ Build
  |
  +-+ Revision

15voto

ChrisW Points 37322

Microsoft fait même d'utiliser les chiffres de cette manière hasardeuse, par exemple 3.5.3858.2

Si vous le laissez par défaut, par exemple en spécifiant [assembly: AssemblyVersion("1.1.*")], puis le troisième nombre augmente chaque jour, et le quatrième nombre est un nombre aléatoire (pour lever l'ambiguïté, si il n'y a plus que l'on construit en une seule journée).

Presque tout le monde (moi y compris) semble être d'accord que la révision appartient à la troisième place, et de "construction" ou ce que vous voulez l'appeler, il appartient en dernier.

Microsoft semble être à l'aide de "construire" comme synonyme de "jour": c'est peut-être lié à l'idée de "quotidiennement"; et une "révision" est donc une autre version de l' (tous les jours) construire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X