一款 Windows Phone 7 应用似乎有两个版本号,一个在 AssemblyInfo.cs 中(通过 AssemblyVersion
/AssemblyFileVersion
属性),另一个在 WMAppManifest.xml 中。这两个似乎无关 - 改变一个不会影响另一个。似乎 Marketplace 使用来自清单的版本号 - 请有人确认一下?
真正的问题是 - 我如何编程检索清单中的版本号以在“关于”屏幕上显示?
一款 Windows Phone 7 应用似乎有两个版本号,一个在 AssemblyInfo.cs 中(通过 AssemblyVersion
/AssemblyFileVersion
属性),另一个在 WMAppManifest.xml 中。这两个似乎无关 - 改变一个不会影响另一个。似乎 Marketplace 使用来自清单的版本号 - 请有人确认一下?
真正的问题是 - 我如何编程检索清单中的版本号以在“关于”屏幕上显示?
WmAppManifest.xml中的版本号正在使用,前两位数字是Marketplace相关的(当您进行更新时进行检查),下两位数字用于您的内部使用。
这是一个普通的XML文件,将其作为XDocument打开并解析即可。这里有一个示例。
编辑:示例是多余的。如果只需要版本号,请使用:
string Version = XDocument.Load("WMAppManifest.xml")
.Root.Element("App").Attribute("Version").Value;
var xmlReaderSettings = new XmlReaderSettings
{
XmlResolver = new XmlXapResolver()
};
using (var xmlReader = XmlReader.Create("WMAppManifest.xml", xmlReaderSettings))
{
xmlReader.ReadToDescendant("App");
return xmlReader.GetAttribute("Version");
}
using (var stream = new FileStream("WMAppManifest.xml", FileMode.Open, FileAccess.Read))
{
string appVersion = XElement.Load(stream).Element("App").Attribute("Version").Value;
}