在发布模式下编译时,UWP CreateFileAsync线程退出,并且选中了Compile with .NET Native工具链

时间:2017-11-13 21:35:39

标签: c# .net multithreading uwp .net-native

我有一个UWP应用程序,我正在尝试使用以下代码保存配置文件。这可以在未编辑的.NET Native工具链的Compile和调试模式下正常工作。但是,一旦选中Compile with .NET Native工具链,线程就会在尝试创建文件时退出。我该如何解决这个问题?

public async void SaveConfig()
{
    // serialize JSON to a string
    string json = JsonConvert.SerializeObject(uris);

    // write string to a file
    var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("config.json", CreationCollisionOption.ReplaceExisting);
    await FileIO.WriteTextAsync(file, json);
}

1 个答案:

答案 0 :(得分:1)

问题最有可能出现在 async void 方法中,等待直到结束时才会执行。如果是这种情况,解决方案是更改方法标题

public async Task SaveConfigAsync()

并调用这样的方法

await SaveConfigAsync();