如何在Windowsapp store应用中获取执行的汇编版本信息?

在将应用程序移植到Windowsapp store时,我注意到.NETCore Framework不包括:

System.Reflection.Assembly.GetExecutingAssembly()

我用它来获取显示在菜单屏幕上的版本信息。 是否有替代品,或者我被迫将信息存储在别处以供检索?

编辑:

我还发现我可以从typeof(MyType).AssemblyQualifiedName提取一个版本号,但这看起来很糟糕。

我用这个:

 public string GetApplicationVersion() { var ver = Windows.ApplicationModel.Package.Current.Id.Version; return ver.Major.ToString() + "." + ver.Minor.ToString() + "." + ver.Build.ToString() + "." + ver.Revision.ToString(); } 

如果你想要汇编版本,你可以从Version属性中获取它:

 public string GetAssemblyVersion(Assembly asm) { var attr = CustomAttributeExtensions.GetCustomAttribute(asm); if (attr != null) return attr.Version; else return ""; } 

例如,使用主App的程序集:

 Assembly appAsm = typeof(App).GetTypeInfo().Assembly; string assemblyVersion = GetAssemblyVersion(appAsm);