このコードは、WP8 アプリで正常に動作します。
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);
}
...しかし、補足的な Windows ストア アプリでは、いくつかのクラスとクラス メンバーが認識されません。
XmlResolver
XmlXapResolver
args.ExceptionObject
(言うまでもなく、await は許可されておらず、イベント ハンドラーに "async" を追加すると、イベント ハンドラーの割り当てが "赤くなる" ようになります)...
要点に戻ると、WP8 アプリと同じ機能を Windows ストア アプリで実現するにはどうすればよいでしょうか?