Я использую файлы Json для локального хранилища для своего приложения. При использовании эмулятора Visual Studio для чтения и записи в файлы работает правильно. Когда я подключаю устройство и пытаюсь запустить его на этом устройстве, я не могу получить доступ к своим Json-файлам.Не удается получить доступ к файлам на устройстве Windows 8.1
Мои файлы json имеют значение «Содержимое и копирование».
Вот моя инструкция для чтения файла. Я пробовал два основных способа доступа к файлу Current.InstalledLocation
и Uri("ms-appx:///)
. Оба, похоже, работают в эмуляторе, но не работают на устройстве.
try
{
var package = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder folder = await package.GetFolderAsync("Data");
StorageFile file = await folder.GetFileAsync("Users.json");
//Uri dataUri = new Uri("ms-appx:///Data/Users.json");
//StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(dataUri);
string jsonText = await FileIO.ReadTextAsync(file);
JsonArray jsonArray = JsonArray.Parse(jsonText);
foreach (JsonValue userValue in jsonArray)
{
//Build my model object out of json
}
}
catch(Exception e)
{
//Creating instance for the MessageDialog Class
//and passing the message in it's Constructor
MessageDialog msgbox = new MessageDialog(e.Message);
//Calling the Show method of MessageDialog class
//which will show the MessageBox
await msgbox.ShowAsync();
}
окна вывода Дисплеи:
Exception thrown: 'System.ArgumentException' in mscorlib.ni.dll
Exception thrown: 'System.ArgumentException' in mscorlib.ni.dll
Edit: Петля задвижка попытка не ловить исключения, связанные с проблемой доступа к файловой системе.
При запуске, когда пошагового я не успеваю на StorageFile file = await folder.GetFileAsync("Users.json");
Почему я вызвать функцию через кнопку я не в string jsonText = await FileIO.ReadTextAsync(file);
Устройство Ищу запустить мое приложение на работающем под управлением Windows Embedded 8.1 Handheld update 2 (его ToughPad Panazonic FZ-E1). Нужно ли мне настраивать Windows 8.1 вместо Windows Phone 8.1? Он работает нормально с телефоном до этого момента, контролируя сканер штрих-кода POS.
Любая помощь будет оценена Я в затруднении. Может ли моя проблема быть вызвана настройками на устройстве?
Вместо того, чтобы сообщение, вы можете поделиться полный 'ToString()' выход за исключением, в том числе типа исключения, сообщения и TRACEBACK? – dbc
При осмотре мой блок catch catch даже не перехватывает исключения. Исключением, которое я видел, является каким-то образом из-за дальнейшей функции. Исключения mscorlib не кажутся причинами каких-либо проблем, кроме как выгнать меня из моего контрольного пункта. – JaredStroeb