Silverlight работает с очень ограниченным доступом к файловой системе клиента.При использовании диалогового окна открытия файла вы можете получить имя выбранного файла в его родительской папке, длину файла и поток, из которого можно прочитать данные в файле, но не намного больше этого.Вы не можете прочитать полный путь к выбранному файлу и получаете исключение, потому что вы пытаетесь сделать именно это.
Если вы хотите прочитать все содержимое файла в байтовый массив,вам придется заменить строку
localFile.Content = System.IO.File.ReadAllBytes(oFileDialog.File.FullName);
чем-то вроде
localFile.content = ReadFully(oFileDialog.File.OpenRead());
Метод ReadFully
читает все содержимое потока в байтовый массив.Это не стандартный метод Silverlight;вместо этого он берется из этого ответа .(Я дал этому методу быстрый тест на Silverlight, и он, похоже, работает.)