Application.GetResourceStream игнорируется?

У меня есть глупая проблема, которую я уверен, кто-нибудь заметит через секунду. В любом случае, я пытаюсь протестировать некоторые параметры потока записи/чтения для игрового приложения Windows Phone 7. После некоторых поисков я обнаружил, что FileStream операции не разрешены в Windows Phone 7, и вместо этого я должен использовать такие инструменты, как Application.GetResourceStream и IsolatedStorageFile.

Для тестирования я создал новый проект приложения Phone 7 Game (4.0) и изменил game1.cs.

Я добавил некоторые необходимые ссылки:

using System.IO ;
using System.Windows.Resources ;
using System.Windows ;
using System.IO.IsolatedStorage ;

А также добавил файлы 1.txt и 2.txt в мой проект для действий по чтению/записи файлов (хотя еще не зашел так далеко). Используя некоторые учебные пособия в Интернете, я написал небольшой фрагмент кода в конструкторе game1, который включает чтение/запись из/в txt-файлы. Я добавил несколько точек останова в Visual Studio 2010, так как мне нравится рассматривать вещи один за другим, прежде чем переходить к следующей части. В любом случае, что происходит, так это то, что проект компилируется без каких-либо ошибок, но когда я его запускаю, ничего не происходит. Отладчик даже не останавливается на точках останова. Я также не получаю никаких ошибок, поэтому я застрял. Я попытался прокомментировать все строки и проверить одну за другой, и кажется, что эта строка все испортила:

StreamResourceInfo sri = Application.GetResourceStream(
    new Uri("1.txt", UriKind.Relative));

Может ли кто-нибудь направить меня к источнику моей проблемы?


person Lucas    schedule 22.08.2011    source источник


Ответы (1)


Какой тип Build установлен для 1.txt? Следует установить значение Content, если вы собираетесь использовать Application.GetResourceStream.

Кроме того, попробуйте использовать полный синтаксис для ресурсов приложения:

StreamResourceInfo sri = Application.GetResourceStream(
    new Uri("/Project.Name;component/1.txt", UriKind.Relative));

Путь после слова «компонент» должен соответствовать пути от корня проекта. Например, если он находится в папке «Данные/текст», это должно быть «/Project.Name;component/Data/Text/1.txt»).

person Richard Szalay    schedule 22.08.2011