Я не знаю, как @henry принял ответ, потому что все ответы говорят о версии Dll, но когда речь идет о получении версии приложения для Windows Phone, что означает версию приложения на рынке.Я не знаю о других, но меня действительно не волнует версия dll, а также я использую рыночную версию для обозначения источника в системе контроля версий.
Когда разработчик загружает XAP на рынок, он / она указывает версию XAP, которая может отличаться от версии dll, а при обработке Market считывает информацию из файла WMAppManifest.xml и записывает обратно версию, указанную вСтраница отправки XAP.
Итак, желаемая версия доступна в файле WMappManifest.xml, который вы можете прочитать в XmlReader, как показано ниже;
public static string GetAppVersion()
{
var xmlReaderSettings = new XmlReaderSettings
{
XmlResolver = new XmlXapResolver()
};
using (var xmlReader = XmlReader.Create("WMAppManifest.xml", xmlReaderSettings))
{
xmlReader.ReadToDescendant("App");
return xmlReader.GetAttribute("Version");
}
}
Вот пример WMAppManifest.xml
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
<DefaultLanguage xmlns="" code="en-US"/>
<App xmlns="" ProductID="{cc18507d-0de0-42d6-8b0f-05addeafd21e}" Title="CaledosLab.Phone.ContosoLogTest" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="CaledosLab.Phone.ContosoLogTest author" Description="Sample description" Publisher="CaledosLab.Phone.ContosoLogTest" PublisherID="{a204adfc-7718-4c4a-afb4-c1c39ec50d30}">
</App>
</Deployment>
Таким образом, вы можете читать любую информацию из тега App xml так же, как мы читаем версию из тега app.например, идентификатор издателя или идентификатор продукта