Подтвердить что ты не робот

Как я могу получить информацию о версии исполняемой сборки в приложении Windows Store?

При переносе приложения в хранилище Windows я заметил, что .NETCore Framework не включает:

System.Reflection.Assembly.GetExecutingAssembly()

Я использовал это, чтобы получить информацию о версии для отображения на экране меню. Есть ли замена или я вынужден хранить информацию в другом месте для извлечения?

EDIT:

Я также обнаружил, что я могу извлечь номер версии из typeof(MyType).AssemblyQualifiedName, но это кажется плохим.

4b9b3361

Ответ 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();
}

И если вам нужна версия сборки, вы можете получить ее из атрибута Version:

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);