Windows Phone 7應用似乎有兩個版本號的位置 - 一個位於AssemblyInfo.cs中(通過AssemblyVersion
/AssemblyFileVersion
屬性),另一個位置是WMAppManifest.xml。這兩個看起來不相關 - 改變一個不會影響另一個。市場似乎使用了清單中的那個 - 有人可以證實這一點嗎?WP7應用版本
真正的問題是 - 如何以編程方式從清單中檢索一個以在「關於」屏幕上顯示?
Windows Phone 7應用似乎有兩個版本號的位置 - 一個位於AssemblyInfo.cs中(通過AssemblyVersion
/AssemblyFileVersion
屬性),另一個位置是WMAppManifest.xml。這兩個看起來不相關 - 改變一個不會影響另一個。市場似乎使用了清單中的那個 - 有人可以證實這一點嗎?WP7應用版本
真正的問題是 - 如何以編程方式從清單中檢索一個以在「關於」屏幕上顯示?
WmAppManifest.xml號碼正在使用中。前兩位數字與市場相關(在您執行更新時會檢查),接下來的兩位數字將用於您的內部使用情況。
這是一個普通的XML文件,將其作爲XDocument打開並解析它。 An example。
編輯:這個例子是無關的。對於剛剛版本,使用方法:
string Version = XDocument.Load("WMAppManifest.xml")
.Root.Element("App").Attribute("Version").Value;
從 「WMappManifest.xml」 獲得應用程序版本,這種解決方案可能會多一點效率比盧卡斯的解決方案:
對於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;
}
謝謝。 「前兩個」和「後兩個」 - 你是什麼意思?在清單中只有`Version`,`AppPlatformVersion`是完全不同的東西。 – 2011-04-15 18:22:39
版本=「1.3.0.0」1.3適用於市場0.0僅適用於您 – 2011-04-15 18:25:25