Чтение XML-файла в метростиле? возможный? - PullRequest
3 голосов
/ 09 октября 2011

Я использую Windows 8 Developer Preview.Я хочу разработать приложение, которое читает файл XML.Является ли это возможным?Когда я пытался использовать XDocument.Load(string uri), он выдавал исключение из-за отсутствия доступа, и такого класса, как FileStream, не было.Я знаю, что приложение в стиле metro основано на Silverlight, который не имеет доступа к файловой системе, но на самом деле это приложение для настольных компьютеров, поэтому я не смогу читать файлы?Есть ли обходной путь?Я довольно новичок в Silverlight, так что, может быть, я просто не знаю, как?

Ответы [ 2 ]

5 голосов
/ 09 октября 2011

Каждое приложение Metro помещается в «песочницу». Вам необходимо указать возможность чтения файлов из библиотеки документов или из съемного хранилища и связывать определенные типы в манифесте пакета. Кроме того, вы можете использовать средство выбора файлов, чтобы пользователь специально предоставил вам доступ к какому-либо файлу.

Цитата из Доступ к пользовательским ресурсам с помощью среды выполнения Windows :

Возможность съемного хранилища обеспечивает программный доступ к файлам. на съемном носителе, таком как USB-ключи и внешние жесткие диски, отфильтрованы по ассоциациям типов файлов, объявленным в пакете манифест. Например, если приложение для чтения PDF-файлов объявило тип файла .pdf ассоциация, он может открывать файлы .pdf на съемном носителе, но не другие типы файлов.

Будьте осторожны при объявлении эта возможность, потому что пользователи могут включать различную информацию в их съемные запоминающие устройства, и искать обоснованное обоснование из приложения.

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

5 голосов
/ 09 октября 2011

Прочитайте ответы Ари Полски на этот вопрос в MSDN .

В принципе, для доступа к файлу вам необходимо разрешение.Чтобы получить это разрешение, пользователь должен сделать это, выбрав тот файл папки, в котором он находится, с помощью одного из предоставленных средств выбора.Другой вариант - объявить, что вы хотите получить доступ к какой-либо папке в манифесте.Но это работает только для локаций «Библиотека».

...