我怎样才能在Windows Store应用执行的程序集的版本信息?(How can I get th

2019-08-02 07:17发布

虽然将应用程序移植到Windows应用商店,我注意到.NETCore框架不包括:

System.Reflection.Assembly.GetExecutingAssembly()

我用它来获取菜单屏幕上显示的版本信息。 是否有替代或我被迫到别处存储的信息进行检索?

编辑:

我还发现,我可以提取版本号出typeof(MyType).AssemblyQualifiedName但似乎不好。

Answer 1:

我使用这样的:

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

如果你想组装版本,你可以从版本属性得到它:

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

例如使用主应用程序的组件:

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


文章来源: How can I get the executing assembly version information in a Windows Store App?