WP7应用版本

时间:2011-04-15 17:00:04

标签: windows-phone-7 manifest

Windows Phone 7应用程序看起来有两个版本号 - 一个在AssemblyInfo.cs中(通过AssemblyVersion / AssemblyFileVersion属性),另一个是WMAppManifest.xml。这两个似乎不相关 - 改变一个不会影响另一个。看来,市场使用清单中的那个 - 有人可以确认一下吗?

真正的问题是 - 如何以编程方式从清单中检索一个以显示在“关于”屏幕上?

2 个答案:

答案 0 :(得分:28)

正在使用WmAppManifest.xml编号。前两个数字与市场相关(在您进行更新时会进行检查),其中两个数字供您内部使用。

这是一个常规XML文件,将其作为XDocument打开并解析它。 An example

编辑:这个例子是无关紧要的。对于版本,请使用:

string Version = XDocument.Load("WMAppManifest.xml")
    .Root.Element("App").Attribute("Version").Value;

答案 1 :(得分:1)

要从" WMappManifest.xml"获取应用版本,此解决方案可能比lukas解决方案更有效:

对于WP7:

var xmlReaderSettings = new XmlReaderSettings
{
    XmlResolver = new XmlXapResolver()
};
using (var xmlReader = XmlReader.Create("WMAppManifest.xml", xmlReaderSettings))
{
    xmlReader.ReadToDescendant("App");
    return xmlReader.GetAttribute("Version");
}

对于WP8:

using (var stream = new FileStream("WMAppManifest.xml", FileMode.Open, FileAccess.Read))
{
    string appVersion = XElement.Load(stream).Element("App").Attribute("Version").Value;
}