2010-01-20 4 views
13

J'ai lu des discussions sur les versions d'assemblage, de fichier et d'assemblage.Publier la version par rapport à l'assemblage (etc) Versions

Je voudrais savoir où la version Publier entre en jeu. Le résultat de ...

string thisAppsVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); 

... semble être le AssemblyVersion. Jusqu'à présent, je me sers de la publier version avec la classe de déploiement:

ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment; 
Version thisAppsVersion = deployment.CurrentVersion; 

... mais ce n'est pas disponible à moins que l'application est installée. J'aime comment il a l'option d'incrémenter automatiquement la révision.

Existe-t-il un moyen d'obtenir la version de publication sans être déployé sur le réseau? Devrait-il être le «visage public» de la version de l'application?

Example: UI Version (twisted from Publish Version)

Merci à l'avance!

Gregg

Répondre

18

Je pense que les différentes versions ont une fonction différente.

1) AssemblyVersion permet à CLR de charger et de lier des assemblages. Ceci est utile pour les développeurs mais pas pour les utilisateurs finaux.

2) FileVersion ou AssemblyFileVersion est ce que Windows a affiché comme version du fichier de l'exécutable. C'est juste la même version de l'application Win32. Et cette version est utilisée par le système et les installateurs pour déterminer quelle version est la plus récente.

3) PublishVersion est utilisé pour la version du package de déploiement. Il est possible que les mêmes fichiers binaires soient publiés deux fois avec des versions de publication différentes.

4) La version que vous montrez à vos utilisateurs finaux est encore une autre version. Appelez la version du produit ou autre chose. Il peut différer de tout ce qui précède, par exemple. des fins commerciales. Voir AssemblyInformationalVersionAttribute si vous souhaitez utiliser un support intégré .NET.

Pour les cas simples, vous pouvez utiliser FileVersion comme version du produit. Mais publier la version n'est pas une bonne idée pour moi.

+0

Salut Dudu, Merci pour l'explication claire. C'est clarifié les choses bien! – MrGreggles

+1

Existe-t-il un moyen de les faire correspondre automatiquement? –

Questions connexes