где активы проекта хранятся в wp7?

Я хотел получить доступ к некоторым своим активам... в частности, мое приложение поставляется с кучей текстовых и mp3-файлов.

Они не загружаются из сети позже, а идут вместе с самим приложением. поэтому мне было интересно, как изолированное хранилище входит в картину, если вообще?

все, что я хочу сделать, это прочитать текстовый файл / воспроизвести mp3-файл. И эти файлы идут вместе с самим приложением. Я знаю расположение файлов относительно папки проекта. что-то типа :

проект/текстовые файлы/текстовый файл1.txt

...

проект/mp3Files/mp3File1.txt

...

как получить доступ к этим файлам? общий файловый поток / потоковое чтение .... похоже, не работает.


person Egon    schedule 30.01.2011    source источник
comment
Процесс сборки выведет файл your_project.xap. Это просто сжатый zip файл. Переименуйте его в your_project.zip, и вы сможете открыть его и увидеть внутреннюю структуру. Кроме того, вам может потребоваться указать UriKind.Relative при создании Uri, который вы хотите загрузить.   -  person i_am_jorf    schedule 31.01.2011


Ответы (3)


Отметьте файлы .txt как «Содержание», а затем используйте код, подобный следующему:

Uri uriMyFile = new Uri("myfilename.txt",UriKind.relative);
StreamReader sr = new StreamReader((Application.GetResourcesStream(uriMyFile)).Stream);

класс приложения обеспечивает доступ к соответствующему потоку.

person Todd Main    schedule 30.01.2011
comment
Это GetResourceStream, только один ресурс. - person Léon Pelletier; 17.04.2013

Допустим, у вас есть папка Resources в корневом каталоге вашего проекта. Убедитесь, что параметр Build Action (в окне свойств) для всех файлов в этой папке, к которым вы хотите получить доступ, установлен на Content, а параметр Copy to Output Directory установлен на Copy if Newer или Copy Always.

Я никогда не пытался читать текстовый файл, но я загружаю файл XML, который упакован с моим приложением, следующим образом:

XDocument doc = XDocument.Load( "Resources/MyData.xml" );

Кажется, я помню, что у меня были проблемы, если я использовал / в начале пути.

person Praetorian    schedule 30.01.2011

они упаковываются в файл .xap, который развертывается

person Joel Martinez    schedule 30.01.2011