从包中检索当前应用程序版本

Posted

技术标签:

【中文标题】从包中检索当前应用程序版本【英文标题】:Retrieve the Current App version from Package 【发布时间】:2015-04-22 11:59:29 【问题描述】:

虽然我可以使用以下代码获取程序集版本

        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,但这对我不可用

【问题讨论】:

How can I get my Windows Store app's title and version info? 的可能重复项 【参考方案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

【讨论】:

完美!干杯@Kevin! @ChrisBallance 不客气!总是很乐意帮助关注开发者! 你还知道如何检索包描述吗? Package.Current.Description 在运行时为空... 对我来说在 Xbox 上没有什么不同 如果您在不同平台上看到不同的版本,请仔细检查包部署是否针对这些平台。您会在 Packages 步骤中看到一行复选框。

以上是关于从包中检索当前应用程序版本的主要内容,如果未能解决你的问题,请参考以下文章

如何从包中的类创建一个Intent到不同包中的类?

使用输入参数从包中调用所需的过程

C++ 包找不到从包中的其他头文件调用的头位置

如何让 React Native 仅在 Android 操作系统上从包中获取/导入功能

如何从包中删除过程或函数

如何从包中的兄弟模块导入?