web-dev-qa-db-fra.com

Numéro de version dans le texte du formulaire Winform

Comment puis-je insérer le numéro de version de l'assembly (que j'ai défini pour l'incrémentation automatique) dans un texte de formulaire Winform?

50
Andrew

L'un ou l'autre fonctionnera:

var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; 
this.Text = String.Format("My Application Version {0}", version);

string version = System.Windows.Forms.Application.ProductVersion; 
this.Text = String.Format("My Application Version {0}", version);

En supposant que cela s'exécute sur le Form sur lequel vous souhaitez afficher le texte

75
Iain Ward
Text = Application.ProductVersion

Moyen rapide d'obtenir la version complète sous forme de chaîne (par exemple, "1.2.3.4")

14
bytedev

J'utilise ce qui suit dans un WinForm:

public MainForm()
{
  InitializeComponent();
  Version version = Assembly.GetExecutingAssembly().GetName().Version;
  Text = Text + " " + version.Major + "." + version.Minor + " (build " + version.Build + ")"; //change form title
}

N'affiche pas le numéro de révision à l'utilisateur, le numéro de build est assez d'informations techniques

Assurez-vous que votre AssemblyInfo.cs se termine par ce qui suit (supprimez la version qu'il contient par défaut) pour que VisualStudio incrémente automatiquement le numéro de version et de révision. Vous devez mettre à jour vous-même les versions majeures et mineures à chaque version (mettre à jour la version principale pour les nouvelles fonctionnalités, la version mineure lorsque vous faites juste des corrections):

// Version information for an Assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below:
// [Assembly: AssemblyVersion("1.0.*")]
[Assembly: AssemblyVersion("1.0.*")]
9
George Birbilis

c'est dans le System.Reflection.AssemblyName classe par exemple.

Assembly.GetExecutingAssembly().GetName().Version.ToString()
3
Hath

comme vous pouvez le voir ici: http://msdn.Microsoft.com/en-us/library/system.reflection.assemblyname.version.aspx

class Example
{
    static void Main()
    {
        Console.WriteLine("The version of the currently executing Assembly is: {0}",
            Assembly.GetExecutingAssembly().GetName().Version);

        Console.WriteLine("The version of mscorlib.dll is: {0}",
            typeof(String).Assembly.GetName().Version);
    }
}
2
Davide Piras
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Diagnostics.FileVersionInfo fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.Location);
return fvi.ProductVersion;
1
Vismari