.Net Est-il préférable de vérifier les mises à jour AssemblyInfo.cs dans une version quotidienne?

StackOverflow https://stackoverflow.com/questions/1958804

Question

A mon travail, la version de montage de chaque projet dans le contrôle de la source est maintenue à 1.0.0.0. Lorsque la machine de construction faire une nouvelle construction quotidienne, il a une tâche de mettre à jour la version de montage mais ne vérifie pas les mises à jour AssemblyInfo.cs. Donc, sur nos machines de dev, la version d'assemblage des dll nous compilons sont toujours mis à 1.0.0.0.

est-ce la meilleure façon de conserver la version de montage à jour dans le contrôle de code source ou que nous faisons la bonne chose déjà?

Quels sont les avantages et les inconvénients de chaque possibilités?

Merci


ou en double associés:
AssemblyInfo.cs doit être placé dans le contrôle de version?

Était-ce utile?

La solution

Con:

  • vous ne pouvez pas déboguer ou tester un code qui dépend de la version de montage correcte (si vous avez un tel code)

Par ailleurs, il existe un moyen de vous assurer que tous vos versions de montage facile sont synchronisés: définir une chaîne const publique « VersionMask » dans un VersionInfo public class dans un ensemble de haut niveau qui est référencé par tous les autres ensembles et mettre

[assembly: AssemblyVersion(VersionInfo.VersionMask)]

dans chaque fichier AssemblyInfo.cs (à condition que vous ar en C #), pour VB.NET il est

<Assembly: AssemblyVersion(VersionInfo.VersionMask)> 

Autres conseils

Ce n'est pas correct, vous ne devriez pas mettre à jour automatiquement [AssemblyVersion]. Cet attribut joue un rôle très important dans le processus de résolution de l'Assemblée lorsque le CLR est à la recherche de la bonne version d'un ensemble à charger. Mais que ce n'est discriminante lorsque l'ensemble est stocké dans le GAC. De préférence, il ne doit être modifié lorsqu'un développeur fait un changement de rupture dans l'interface publique de l'Assemblée, qui le rendrait inutilisable dans une application qui ne recompilé autrement avec un ensemble de référence mis à jour.

Vous pouvez toujours mettre à jour [AssemblyFileVersion]. C'est aussi la version qui est visible dans l'Explorateur quand vous regardez l'onglet propriété Version. Maintenant, vous aussi ne se soucient plus beaucoup que le fichier est vérifié dans.

A titre de comparaison, la même chose a été fait avec les ensembles .NET de .NET 2.0 à 3.5 .NET SP1. Tous les ensembles standards séjournés à la version de montage 2.0.0.0, la version du fichier a été changé des milliers de fois. Le fait que ces changements étaient toujours compatibles est cependant un acte assez difficile à suivre.

Mon approche a toujours été, vous devriez être en mesure de construire la chose tout en ayant accès au système de contrôle de code source. Donc, si le script qui met à jour les AssemblyInfo.cs est en contrôle de code source, alors pas de problème.

Je suppose que mieux stocker la version en AssemblyInfo.cs, afin que chacun puisse construire la caisse et la version correcte. Avoir version Assemblée même sur env Dev. créer problème lors du débogage d'une version particulière. Aussi la version d'assemblage .NET est important, comme qui, sans dll bonne version, l'assemblée ne se charge pas, et cela vous aidera dans le débogage aussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top