55 votes

Modifier la version de l'assembly dans un assemblage .NET compilé

Question simple ... est-il possible de changer la version d'assemblage d'un assemblage .NET compilé?

En fait, je serais en mesure de modifier la version du fichier d'assemblage.

43voto

MarkGr Points 472

Vous pouvez utiliser ILMerge:

ILMerge.exe Foo.dll /ver:1.2.3.4 /out:Foo2.dll

Une raison valable de le faire est d'incrémenter la version de l'assembly dans un build de vous trouver les dernières modifications (à l'aide de NDepend par exemple). De cette façon, si il n'y a pas de rupture des changements de la version de l'assembly reste le même, et vous pouvez patch sorti construit facilement.

Nous avons toujours incrémenter la version du fichier, et qui reflète le numéro de build.

8voto

Jon Skeet Points 692016

Pourquoi veux-tu faire cela? Si une autre application peut l'utiliser, vous voudrez peut-être plutôt examiner la redirection de liaison d'assembly .

4voto

user1787189 Points 21

Si vous avez les processus de test et de contrôle de source, le processus est assez simple. Il commence par une compréhension de qui peut changer le différent nombre de segments de la version, et quand. .net assemblées ont 4 nombre de segments (c'est à dire 1.0.0.1).

Le premier segment contient le numéro de Version Majeur. Ceci est défini par la haute direction et indique un changement majeur dans l'INTERFACE utilisateur ou de la plate-forme de l'application. Cela devrait toujours être le même nombre entre l'assemblée de la version et de la version du fichier.

Le deuxième segment contient le numéro de Version Mineure, aussi connu comme la Fonction de numéro de Version. Ceci est défini par la Gestion de Projet et indique que de nouvelles fonctionnalités ont été ajoutées à l'application. Cela devrait toujours être le même nombre entre l'assemblée de la version et de la version du fichier.

Le troisième segment contient le numéro de Build. Ceci est défini par le groupe de test et indique que l'application est prête à être déployée. Il est changé avant de corrections de bugs sont libérés. Lorsque la divulgation d'une nouvelle construction, les essais réinitialise le quatrième segment à 0. Cela peut être le même nombre entre l'assemblée de la version et de la version du fichier, mais est généralement de gauche à 0 pour la version de l'assembly pour simplifier l'application de correctifs les déploiements existants.

La quatrième partie contient le numéro de Révision. Cet ensemble par le développement du groupe à chaque fois qu'ils vérifient un nouveau code dans la source de contrôle. Ce nombre devrait être inclus dans le fichier de la version de la DLL compilée, mais pas dans la version de l'assembly.

J'ai trouvé que cette aide chargés de déploiement, les testeurs et les développeurs de garder une trace des dernières versions sans marcher sur les autres orteils. Unfortunatley, j'ai également travaillé avec des entreprises qui ont utilisé une statique système de gestion de versions, de sorte que personne ne savait vraiment ce que le dernier, le meilleur de l'assemblée a été.

0voto

DaveE Points 2779

Nous avions (également) à être en mesure de le faire alors que dans un communiqué de notre mode mixte (client-serveur de l'application principale, de rapports sur le web) application utilise le même "numéro de version de fichier" pour une véritable libération. Étant donné que le c/s app & web app construire tant que de besoin, ils ne sont pas nécessairement se retrouver dans le même numéro de version lorsque nous sommes prêts à libérer.

Ce serait bien si je pouvais prendre déjà QA avais assemblées et utiliser un "touch"-comme commande pour mettre à jour l'assemblée attributs. Pour le moment, je dois reconstruire l'application web pour les mettre à jour. Ce toujours fait de notre soutenir les gens nerveux.

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