Как скопировать папку (и подпапки) из содержимого моего решения в IsolatedStorage? - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть папка с содержимым в моем решении, она содержит много подкаталогов. Мне нужно скопировать эту папку в IsolatedStorage. Я прочитал сообщение форума msdn, где говорилось, что нет средств для получения содержимого папки из кода. Как мне решить эту проблему?

Ответы [ 3 ]

0 голосов
/ 08 ноября 2011

Mighter,

Если я вас правильно понял, вам нужно содержимое вашей папки, а также подкаталоги в изолированном хранилище, верно? Если поместить их в свое решение, они попадут только в XAP.

Вы можете использовать изолированное хранилище, которое поставляется в комплекте с Windows Phone SDK 7.1, для управления хранилищем файлов в изолированном хранилище. Это был бы самый простой способ получить содержимое вашей папки в Iso.

Вы можете начать изучение изолированного хранилища данных [ISETool.exe] с здесь .

Надеюсь, это поможет!

0 голосов
/ 09 ноября 2011

Форум прав. Нет возможности перечислять ресурсы «Содержимое».

Вы можете установить действие построения "Ресурс" или "Встроенный ресурс", как предлагают некоторые ответы - тогда есть способы перечислить ресурсы, используя ResourceManager или аналогичные средства . Но я не рекомендовал бы его , так как это встроит все ресурсы в вашу сборку, что приведет к вздутию и замедлению загрузки приложения.

Вот аналогичный вопрос (о перечислении файлов изображений). Нет решения, хотя. Ответ Мэтта содержит единственный обходной путь: подготовить список имен файлов во время разработки и встроить этот список в приложение. Затем вместо перечисления файлов во время выполнения вы читаете имена файлов по одному из этого списка.

Если вам это нужно только для разработки и тестирования, то, как и другие, я также рекомендую взглянуть на ISETool . Вы настраиваете свое приложение один раз с эталонным хранилищем и используете инструмент для сохранения состояния изолированного хранилища. Когда вам нужно восстановить состояние из изолированного хранилища, вы можете использовать инструмент, чтобы скопировать сохраненный обратно в телефон или эмулятор. Пример для этого можно найти в этом блоге .

0 голосов
/ 08 ноября 2011

Много ли у вас файлов в подкаталогах? Я вижу три решения:

  • Установите действие по сборке файла как Ресурс, чтобы они были встроены в DLL. Вы можете получить папку anme в имени файла ресурсов (MyAssembly.MyFolder.Filename.extension). Но это замедлит загрузку вашей сборки и, следовательно, время запуска вашего приложения.

  • Установите для действия по сборке файлов значение Content, чтобы они были включены в файл XAP, но я не уверен, что вы можете перебирать содержимое, не зная пути

  • Вы можете поместить содержимое в zip-файл на удаленном сервере, получить его при первом запуске и использовать http://slsharpziplib.codeplex.com/ для распаковки содержимого в изолированном хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...