Questo codice funziona bene nel mio WP8 app:Come posso ottenere informazioni sul titolo e sulla versione dell'app di Windows Store?
void App_UnhandledException(object sender, UnhandledExceptionEventArgs args)
{
string appName;
string appVersion;
var xmlReaderSettings = new XmlReaderSettings
{
XmlResolver = new XmlXapResolver()
};
using (var xmlReader = XmlReader.Create("WMAppManifest.xml", xmlReaderSettings))
{
xmlReader.ReadToDescendant("App");
appName = xmlReader.GetAttribute("Title");
appVersion = xmlReader.GetAttribute("Version");
}
WAMS_EXCEPTIONLOG wamsel = new WAMS_EXCEPTIONLOG
{
appNameAndVersion =
string.Format("{0} {1}", appName,
appVersion),
ExceptionMsg =
args.ExceptionObject.Message,
InnerException =
args.ExceptionObject
.InnerException.ToString(),
ExceptionToStr =
args.ExceptionObject.ToString(),
dateTimeOffsetStamp =
DateTimeOffset.UtcNow
};
await MobileService.GetTable<TASLS_WAMS_EXCEPTIONLOG>().InsertAsync(wamsel);
}
... ma nella mia complementare app store di Windows, diverse classi e membri della classe sono riconosciuti, vale a dire:
XmlResolver
XmlXapResolver
args.ExceptionObject
(non menzionare il fatto che attendere non è consentito e aggiungere "async" al gestore eventi causa l'assegnazione del gestore eventi a "go red") ...
Quindi, per tornare al punto principale: come può Ottengo la stessa funzionalità che sto ottenendo con la mia app WP8 con la mia app di Windows Store?
+1 su questa risposta e sull'uso astuto delle nuove API Package.Current. – JustinAngel
'Package.Current.Id' genera' NotImplementedException' su Windows Phone 8 –
@ Cœur Per windows phone 8, si dovrebbe ottenere come questo. 'String version = XDocument.Load (" WMAppManifest.xml "). Root.Element (" App "). Attributo (" Versione "). Valore;' –