Вы, конечно, не захотите делать это в безопасном коде, если у вас нет большой буферной памяти, поскольку кодер будет работать ледяно медленно.
Один из вариантов - запуск с повышенными разрешениями, после чего вы можете взаимодействовать с внешними COM-пакетами - см. http://forums.silverlight.net/forums/p/156112/350144.aspx, где приведены некоторые полезные ссылки
Вот ссылка из stackoverflow на общую проблему, которая говорит почти то же самое - Использование Native dll в оболочке C # Com и Использование dll в silverlight
Если вы можете создать обертку C # вокруг вызовов к любой выбранной DLL-кодировке по своему выбору, тогда вы можете поместить сборку обертки в GAC, и у вас все получится - это, конечно, означает, что вам потребуется дополнительный шаг установки чтобы получить эту сборку в GAC, который находится за пределами "нормального" опыта Silverlight
Чтобы упростить внедрение и использование этого разделения, мы представили так называемые простые API песочницы в .NET Framework 2.0, которые создают каждый домен приложения с заданным набором разрешений для его песочницы и списком полностью доверенные сборки, которых нет в глобальном кэше сборок (GAC), поскольку все сборки в GAC уже полностью доверенные.
взято из http://msdn.microsoft.com/en-us/magazine/cc765416.aspx - датировано, но я верю, что все еще точно