Как получить версию приложения в Windows Phone?

похоже, что проблема была связана с добавляемыми файлами, но не зафиксированными в моем хранилище SVN. когда я удалил их из списка добавленных, предупреждение исчезло.

23
задан AnthonyWJones 30 September 2010 в 19:05
поделиться

7 ответов

Вы можете использовать метод GetExecutingAssembly и класс AssemblyName, чтобы найти эту информацию.


  var nameHelper = new AssemblyName(Assembly.GetExecutingAssembly().FullName);

  var version = nameHelper.Version;
  var full = nameHelper.FullName;
  var name = nameHelper.Name;

38
ответ дан 29 November 2019 в 00:39
поделиться

Во-первых, я думаю, что более целесообразно использовать информацию о версии файла сборки для передачи версии приложения пользователю. См. http://techblog.ranjanbanerji.com/post/2008/06/26/Net-Assembly-Vs-File-Versions.aspx

Во-вторых, как насчет этого:

using System;
using System.Linq;
using System.Reflection;

public static class AssemblyExtensions
{
    public static Version GetFileVersion(this Assembly assembly)
    {
        var versionString = assembly.GetCustomAttributes(false)
            .OfType<AssemblyFileVersionAttribute>()
            .First()
            .Version;

        return Version.Parse(versionString);
    }
}
5
ответ дан 29 November 2019 в 00:39
поделиться

На телефоне 7 нет чистого способа получить версию. Лучше всего разобрать полное имя (которое является единственным доступным свойством) для строки версии:

String appVersion = System.Reflection.Assembly.GetExecutingAssembly()
                    .FullName.Split('=')[1].Split(',')[0];
10
ответ дан 29 November 2019 в 00:39
поделиться
public static string GetAsemblyVersion()
{
    return Convert.ToString(Assembly.GetCallingAssembly().GetName().Version);
}
1
ответ дан 29 November 2019 в 00:39
поделиться

Просто используйте эту строку, чтобы получить имя и идентификатор приложения, имя издателя и т. Д.

string name = Windows.ApplicationModel.Package.Current.DisplayName;
1
ответ дан 29 November 2019 в 00:39
поделиться
System.Text.RegularExpressions.Regex regexVersion = new System.Text.RegularExpressions.Regex(@".*(?<v>\d+.\d+.\d+.\d+).*");
System.Text.RegularExpressions.Match regexVersion_Match = regexVersion.Match(System.Reflection.Assembly.GetExecutingAssembly().FullName);
string appVersion = "";
if (regexVersion_Match.Success)
    appVersion = regexVersion_Match.Groups["v"].Value;
1
ответ дан 29 November 2019 в 00:39
поделиться

Windows Phone 8.1:

using System.Reflection;

// ...

Version version = typeof(MainPage).GetTypeInfo().Assembly.GetName().Version;
0
ответ дан 29 November 2019 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: