Windows8ベータ版でVS2012RCを使用していた私のWinRTアプリケーションでは、VisualStudioとWindows8 Proの最終バージョンで問題が発生し、OnSuspending内でファイルを作成/開くと、デバッガーブレークポイントをに設定した場合にのみ機能します。ファイルの作成方法。
private void OnSuspending(object sender, SuspendingEventArgs e){
var deferral = e.SuspendingOperation.GetDeferral();
if (null != m_document) Save();
deferral.Complete();
}
async void Save(){
var folder = KnownFolders.DocumentsLibrary;
var file = await folder.CreateFileAsync(GetFileName(),Windows.Storage.CreationCollisionOption.ReplaceExisting);
var xDoc = GetXDocument();
using (var stream = await file.OpenStreamForWriteAsync()){
xDoc.Save(stream);
}
}
にブレークポイントを設定する
StorageFile file = await folder.CreateFileAsync(...
と、デバッガーがになり、続行すると、すべて正常に動作します。ただし、ブレークポイントを設定しないと、ファイルは作成されますが、xmlの内容は保存されません(ファイルは空のままになります)。
行の下にブレークポイントを設定すると
StorageFile file = await folder.CreateFileAsync(...
、デバッガーは入力されません。
誰かアイデアはありますか?を使用するバージョンもテストしましたfolder.OpenStreamForWriteAsync
が、まったく同じ効果があります。