Windows Phone не может найти файл JSON

Я пытаюсь прочитать данные из файла JSON в приложении.NET 4.5 для Windows Phone. После нажатия кнопки появляется исключение, говорящее:

System.IO.FileNotFoundException (Exception from HRESULT: 0x80070002)

Мой код:

public static async Task ReadFile()
{
    StorageFolder local = Windows.ApplicationModel.Package.Current.InstalledLocation;

    if (local != null)
    {
        var file = await local.OpenStreamForReadAsync("bazaDanych.json");

        using (StreamReader streamReader = new StreamReader(file))
        {
            json = streamReader.ReadToEnd();
        }
    }
}

Вот мой взгляд на Solution Explorer:
введите описание изображения здесь

1 ответ

Решение

Вы не копируете свой файл в локальное хранилище.

Поместите свой json-файл в папку Assets, убедитесь, что в его свойствах указано "Content" и "Copy Always"

При первом запуске вы должны прочитать JSON из пакета

var filename = "Assets/BazaDanych.json";
var sFile = await StorageFile.GetFileFromPathAsync(filename);
var fileStream = await sFile.OpenStreamForReadAsync();

И хранить в местном хранилище.

Есть пример для Windows 8 (который более или менее одинаков)

Смежный вопрос.

Другие вопросы по тегам