Ваш код пытается открыть файл с именем «Default.txt», который находится где-то в файловой системе пользователя.Где именно, я не знаю, поскольку это зависит от того, откуда приложение Silverlight выполняется.Так что да, в общем, у вас нет разрешения туда идти.
Чтобы извлечь что-то из вашего XAP, вам нужно построить поток по-другому.Это будет выглядеть следующим образом:
Stream s = Application.GetResourceStream(
new Uri("/MyXap;component/Path/To/Default.txt", UriKind.Relative)).Stream;
StreamReader reader = new StreamReader(s);
Обратите внимание, это означает, что для вашего Default.txt должно быть установлено значение «Ресурс», а не «Встроенный ресурс».Будучи «ресурсом», он будет добавлен в XAP.Встроенный ресурс добавит его в сборку.
Дополнительная информация: http://nerddawg.blogspot.com/2008/03/silverlight-2-demystifying-uri.html
Примечание. В случаях, когда ваша программа Silverlight имеет несколько сборок, проверьте, что часть "/ MyXap" UriСтрока ссылается на имя сборки, содержащей ресурс.Например, если у вас есть две сборки «ProjectName» и «ProjectName.Screens», где «ProjectName.Screens» содержит ваш ресурс, используйте следующее:
new Uri("ProjectName.Screens;component/Path/To/Default.txt", UriKind.Relative))