Получение номера версии приложения из библиотеки - PullRequest
1 голос
/ 09 января 2012

Я разрабатываю библиотеку, которая пытается получить номер версии приложения, которое ее использует.

В моем тестовом приложении, когда библиотека читает номер версии, используя:

Assembly.GetExecutingAssembly().FullName;

Я получаю номер версии библиотеки, а не основного проекта.

Есть ли простой способ найти номер версии основного приложения, а не моей библиотеки?

Спасибо.

Ответы [ 3 ]

8 голосов
/ 10 января 2012

Чтобы получить номер версии (1.2.0.0), используйте следующий код:

string version = XDocument.Load("WMAppManifest.xml").Root.Element("App").Attribute("Version").Value;
7 голосов
/ 09 января 2012

Вы можете использовать Application.Current для доступа к экземпляру приложения, которое запустило приложение:

Application.Current.GetType().FullName

Сказав это, я не думаю, что есть номер версии, которая относится к приложению в целом. Для этого вам нужно открыть файл WMAppManifest.xml и прочитать версию. Вы можете получить доступ к файлу манифеста, используя:

var manifestUri = new Uri("WMAppManifest.xml", UriKind.Relative);
Stream manifestStream = Application.GetResourceStream(manifestUri);
1 голос
/ 09 января 2012
Assembly.GetEntryAssemlby().FullName;

при условии, что это поддерживается в WP7. Если нет, попробуйте:

typeof(sometype).Assembly.FullName;

на одном из типов из вашего основного модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...