在Windows Phone 7中,有沒有辦法在代碼中獲取應用程序構建或編譯日期? 爲了支持我的應用程序,我想顯示日期和版本號。WP7 - 從代碼獲取編譯/生成日期?
如果它不是立即可用,任何提示或替代? (我猜想有人將它設置爲應用程序設置,這很麻煩)。
在Windows Phone 7中,有沒有辦法在代碼中獲取應用程序構建或編譯日期? 爲了支持我的應用程序,我想顯示日期和版本號。WP7 - 從代碼獲取編譯/生成日期?
如果它不是立即可用,任何提示或替代? (我猜想有人將它設置爲應用程序設置,這很麻煩)。
您可以從Assembly.GetExecutingAssembly().FullName
分析版本號。
輸出是這種形式
PhoneApp的,版本= 1.0.0.0, 文化=中立,公鑰=空
構建日期似乎並不可用,可以說,如果你在每個版本中增加你的版本號,你將不需要它。如果它對您的應用程序很重要,那麼您可以將其存儲在其他地方。
新版本(Assembly.GetExecutingAssembly()。FullName.Split('=')[1] .Split(',')[0]); – 2012-03-08 10:02:49
構建的日期(&時間)未包含在程序集中。
如果你可以到達手機上的文件系統,你可以從這個日期得到一個日期,但它可能會受到市場消化過程(當代碼簽名時)的影響,所以你可能無法保證這一點。
如果您使用*
作爲版本號的構建部分,然後從中找出構建日期。 (這是自2000-01-01以來的天數)。
或者,您可以在構建過程中添加一些內容以設置屬性或設置。
或者,如果您的版本控制系統使用SVN,您可以在帶有SubWcRev.exe的模板中使用$WCDATE$
進行設置。
或者,您可以通過使用T4將其添加到應用程序。
<#@ template language="C#" #>
<#@ import namespace="System" #>
using System.Windows;
namespace MyNamespace
{
public partial class App : Application
{
public string BuildDate { get { return "<#= DateTime.Now #>"; } }
}
}
爲了讓應用程序版本在Windows Phone 7+:https://stackoverflow.com/a/22838743/1033581
這裏是WP7代碼:
var xmlReaderSettings = new XmlReaderSettings
{
XmlResolver = new XmlXapResolver()
};
using (var xmlReader = XmlReader.Create("WMAppManifest.xml", xmlReaderSettings))
{
xmlReader.ReadToDescendant("App");
return xmlReader.GetAttribute("Version");
}
要
在TT文件應該做的伎倆以下在Windows Phone 8+上獲取應用程序版本:https://stackoverflow.com/a/23387825/1033581
以下是WP8代碼:
using (var stream = new FileStream("WMAppManifest.xml", FileMode.Open, FileAccess.Read))
{
var appVersion = XElement.Load(stream).Descendants("App").FirstOrDefault().Attribute("Version");
return appVersion != null ? appVersion.Value : null;
}
添加代碼:
private static DateTime UpdatedAt()
{
var streamResourceInfo = Application.GetResourceStream(new Uri("BuildDate.txt", UriKind.Relative));
var reader = new StreamReader(streamResourceInfo.Stream);
string text = reader.ReadToEnd();
var substring = text.Substring(0, text.Length - 6); // text = "11.05.2014 20:44:52,07 \n\r"
var exact = DateTime.ParseExact(substring, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture);
return exact;
}
皮爾斯嗨,讓我們知道,如果什麼都需要回答的問題 – 2010-12-28 11:23:11
米克:謝謝你的回答希望一個乾淨的解決方案可用,但我可以用這個工作。謝謝! – pearcewg 2010-12-31 22:00:05