微软说好的一键Target WP8.1的神话终究还是个坑。不少朋友发现有些API虽然编译通过,但依然是爆炸的。比如
await StorageFolder.GetFolderFromPathAsync();
运行时会就直接爆炸了:
这个坑留在我的几个应用里好久了,今天刚解决。方法是换个API。。。。。
原来是这样子:
var path = await StorageFolder.GetFolderFromPathAsync("Assets/StationFloorMaps/"); var imgTemplate = await path.GetFileAsync(_imgPath.Replace("Assets/StationFloorMaps/", string.Empty));
现在是这样子:
var package = Windows.ApplicationModel.Package.Current.InstalledLocation; var assetsFolder = await package.GetFolderAsync("Assets"); var mapsFolder = await assetsFolder.GetFolderAsync("StationFloorMaps"); var imgTemplate = await mapsFolder.GetFileAsync(_imgPath.Replace("Assets/StationFloorMaps/", string.Empty));
这个缺点就是不能用路径的方法直接一步到位去get,只能一级一级GetFolderAsync进去。虽然SB了点,但是程序不会再爆炸了。。。