Я столкнулся со странной проблемой при попытке доступа к файлу на SD-карте с помощью кода:
var path = @"D:\Test\test.txt";
try
{
StorageFile file = await StorageFile.GetFileFromPathAsync(path);
}
catch (Exception ex) { Debug.WriteLine($"File access failed due to {ex.Message}"); }
path = @"Test\test.txt";
StorageFile file2 = await (await KnownFolders.RemovableDevices.GetFoldersAsync()).FirstOrDefault().GetFileAsync(path);
Файл находится на SD-карте, я объявил возможность RemovableStorage и добавил FileTypeAssociation. Я могу получить файл при первой отладке приложения, но при втором запуске я получаю UnauthorizedException с первым StorageFile. Удивительно, но вторая попытка получить файл через RemovableStorage срабатывает каждый раз. Если только перезагрузить телефон и еще раз отладить приложение - оно снова заработает, но пока только в первый раз.
Доступ к файлам с помощью StorageFile.GetFileFromPathAsync() как-то ограничен? Я что-то упускаю?
ОБНОВЛЕНИЕ:
Похоже, что в новейшей версии эмулятора 10856 я получаю исключение при каждом запуске, что может означать, что не будет доступа к файлу по полному пути.