2008-08-14 5 views
2

J'ai une petite application VB.NET que je travaille sur l'utilisation de la version complète de Visual Studio 2005. Dans les propriétés Publier du projet, je l'avoir mis à Incrémenter automatiquement la révision avec chaque publication.Numéro de révision incrémenté automatiquement n'apparaît pas dans la boîte À propos

Le problème est qu'il ne fait qu'incrémenter la révision dans les fichiers d'installation. Il ne semble pas que le numéro de version soit mis à jour dans la boîte de dialogue A propos de (qui est le modèle générique intégré de la boîte à outils). Ce numéro de version semble provenir de My.Application.Info.Version.

Que devrais-je utiliser à la place pour que mon numéro de révision à incrémentation automatique apparaisse dans la boîte à propos de?

Répondre

1

Modifiez le code de la boîte A propos de

Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Deployment.CurrentVersion.ToString) 

S'il vous plaît noter que toutes les autres réponses sont correctes pour « comment puis-je obtenir ma version de montage », et non la question posée "comment puis-je montrer ma version de publication".

+1

Cela semble uniquement fonctionner dans une application déployée. Je reçois une exception de déploiement lors du débogage à partir de Visual Studio. (Ce qui est bien, assez facile à travailler, juste un FYI pour les autres) –

0

Je ne suis pas un expert VB.NET, mais avez-vous essayé de définir la valeur par exemple 1.0.0. *? Cela devrait augmenter le numéro de révision (au moins dans le AssemblyInfo.cs en C#).

+0

@Pratik Soyez prudent avec la 1.0.0. *. Il a une valeur maximale je pense est 2^16 – Rad

+0

En VB 2012, cela ne fonctionne pas. Cela crée une erreur de compilation. – VoteCoffee

0

L'option que vous sélectionnez sert uniquement à mettre à jour le numéro de configuration. Pour mettre à jour le numéro de programme, vous devez modifier AssemblyInfo.

C# [assembly: AssemblyVersion ("XY ")] [assembly: AssemblyFileVersion (" XY ")]

VB.NET Assembly: AssemblyVersion (" XY *")

1

Il m'a fallu une seconde pour trouver, mais je crois que c'est ce que vous cherchez:

using System; 
using System.Reflection; 
public class VersionNumber 
{ 
    public static void Main() 
    { 
     System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); 
     Version version = assembly.GetName().Version; 
     Console.WriteLine ("Version: {0}", version); 
     Console.WriteLine ("Major: {0}", version.Major); 
     Console.WriteLine ("Minor: {0}", version.Minor); 
     Console.WriteLine ("Build: {0}", version.Build); 
     Console.WriteLine ("Revision: {0}", version.Revision); 
     Console.Read(); 
    } 
} 

Il est basé sur le code fourni sur le site suivant - http://en.csharp-online.net/Display_type_version_number

0

C'est maximum de 65535 pour chacune des 4 valeurs, mais lors de l'utilisation de 1.0. * ou 1.0. *. *, le Linker d'assemblage utilisera un horodatage codé (donc ce n'est pas un simple auto-incrément, et il peut répéter!) 65535.

Voir ma réponse à this question pour plus de liens et de détails.

Questions connexes