Получить текущую версию приложения из пакета

Хотя я могу получить версию сборки, используя следующий код

        var assembly = typeof(App).GetTypeInfo().Assembly;
        var assemblyVersion = assembly.GetCustomAttribute<AssemblyFileVersionAttribute>().Version;

Я хотел бы получить версию от Package.appxmanifest в этом случае 1.0.0.4

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
  <Identity Name="zzz" Publisher="CN=zzz" Version="1.0.0.4" />

Я ожидал, что у меня будет доступ к Windows.ApplicationModel, но он мне недоступен


person Chris Ballance    schedule 20.02.2015    source источник
comment


Ответы (1)


Вот что вы можете сделать, чтобы получить версию в коде:

using Windows.ApplicationModel;

public static string GetAppVersion()
{
  Package package = Package.Current;
  PackageId packageId = package.Id;
  PackageVersion version = packageId.Version;

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

Ссылка: http://www.michielpost.nl/PostDetail_67.aspx

person Kevin Avignon    schedule 20.02.2015
comment
Идеально! Ура @Kevin! - person Chris Ballance; 20.02.2015
comment
@ChrisBallance пожалуйста! Всегда приятно помочь подписчикам! - person Kevin Avignon; 20.02.2015
comment
Вы также знаете, как получить описание пакета? Package.Current.Description пуст во время выполнения ... - person Sven Jung; 08.06.2016
comment
версия приложения отличается, когда оно установлено на xBox. ты знаешь почему? - person Emil; 18.03.2018
comment
Для меня Xbox не отличался - person vikingfabian; 20.10.2018
comment
Если вы видите разные версии на разных платформах, дважды убедитесь, что развертывание пакета нацелено на эти платформы. Вы увидите ряд флажков на шаге Пакеты. - person Lance McCarthy; 13.12.2018