我的 Win RT 应用程序在 Windows 8 beta 上与 VS2012RC 一起工作,现在在 Visual Studio 和 Windows 8 Pro 的最终版本中出现了问题,只有在我将调试器断点设置为文件创建方法。
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
效果完全相同。