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?
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
Text = Application.ProductVersion
Moyen rapide d'obtenir la version complète sous forme de chaîne (par exemple, "1.2.3.4")
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.*")]
c'est dans le System.Reflection.AssemblyName
classe par exemple.
Assembly.GetExecutingAssembly().GetName().Version.ToString()
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);
}
}
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Diagnostics.FileVersionInfo fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.Location);
return fvi.ProductVersion;