19 avril 2024

Afficher le numéro de version de votre application

version universl app

Utiliser le manifest de l’application

Depuis Windows Phone 7, pour afficher le numéro de version dans ma page « A propos de », j’allais lire dans le fichier WMAppManifest.xml la version du package.

public static string GetVersionNumber()
{
	try
	{
		var app = XElement.Load("WMAppManifest.xml");
		var version = app.Element("App").Attribute("Version").Value;
		return version.Substring(0, version.IndexOf('.', version.IndexOf('.', version.IndexOf('.') + 1) + 1));
	}
	catch
	{
		return "";
	}
}

Parfait, ça marche bien jusqu’en version Windows Phone 8.1. J’ai une classe où j’y mets toutes mes fonctions communes à mes apps et hop ! un « copier/coller » dans mes nouveaux projets et le tour est joué… oui jusqu’au moment où j’ai commencé les Universal Apps.

Lire la version avec la classe Package


Mais pourquoi on ne m’en a pas parler plus tôt !! 🙂 Et oui, cette classe existe depuis Windows (Phone) 8 et donc pour lire, entre autre, le numéro de version, c’est très simple et au moins ca fonctionne dès WP8 jusque les application universelles :

Package package = Package.Current;
PackageId packageId = package.Id;
this.VersionTextBlock.Text = versionString(packageId.Version);

String versionString(PackageVersion version)
{
    return String.Format("{0}.{1}.{2}.{3}",
                            version.Major,
                            version.Minor,
                            version.Build,
                            version.Revision);
}

La classe PackageId contient une propriété Version qui est une structure PackageVersion où l’on retrouvera les numéros de Build, Major, Minor et Revision. Dans l’exemple, versionString vous permettra de structurer l’affichage désiré.

Tout le détail du manifeste est donc accessible très simplement et suis très fan de la simplicité !
MSDN Package Class :

Laisser un commentaire