C# UWP CreateFileAsync线程在版本模式下编译时退出,并选中了使用.NET本机工具链编译

C# UWP CreateFileAsync线程在版本模式下编译时退出,并选中了使用.NET本机工具链编译,c#,.net,multithreading,uwp,.net-native,C#,.net,Multithreading,Uwp,.net Native,我有一个UWP应用程序,我正试图用下面的代码保存一个配置文件。如果在未选中.NET本机工具链的情况下进行编译,并且处于调试模式,则此功能可以正常工作。但是,一旦选中“使用.NET本机工具链编译”,线程将在尝试创建文件时退出。我该怎么做 public async void SaveConfig() { // serialize JSON to a string string json = JsonConvert.SerializeObject(uris); // writ

我有一个UWP应用程序,我正试图用下面的代码保存一个配置文件。如果在未选中.NET本机工具链的情况下进行编译,并且处于调试模式,则此功能可以正常工作。但是,一旦选中“使用.NET本机工具链编译”,线程将在尝试创建文件时退出。我该怎么做

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);
}

问题最有可能出现在异步void方法中,该方法直到最后才执行。如果是这种情况,解决方案是更改方法头

public async Task SaveConfigAsync()
然后像这样调用该方法

await SaveConfigAsync();

查看序列化类型是否已选中本地文件夹
C:\Users\xxx\AppData\local\Packages\…(您的包名)…\LocalState
?通过我的测试,您的代码实际上已经执行了。我正在使用Template10项目在服务中运行它。我会检查一下是否有副作用