C# UWP CreateFileAsync线程在版本模式下编译时退出,并选中了使用.NET本机工具链编译
我有一个UWP应用程序,我正试图用下面的代码保存一个配置文件。如果在未选中.NET本机工具链的情况下进行编译,并且处于调试模式,则此功能可以正常工作。但是,一旦选中“使用.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
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项目在服务中运行它。我会检查一下是否有副作用