Проблема заключается в том, что вы используете одну версию .NET Framework для запуска тестов, а другую - для запуска вашего кода в обычных условиях. Silverlight и .NET достаточно совместимы, так что сборки Silverlight часто можно без проблем использовать из .NET (даже если Visual Studio выдает предупреждение по ссылке), но есть несколько исключений.
Например, запустив код Silverlight таким способом, вы не можете использовать ни один из классов пользовательского интерфейса Silverlight. (Любой FrameworkElement, DependencyObject, Dispatcher или аналогичный), поскольку для них требуется правильное время выполнения. Я не удивлен, что AppDomain также попадает в эту категорию.
Чтобы обойти эту проблему, вы можете либо проверить только тот код, который не зависит от классов, как указано выше, либо вы можете кросс-компилировать ваш исходный код как полные проекты .NET. Последнее не решает проблемы несовместимости для вас, но позволяет вам скомпилировать несколько разные версии вашего кода, чтобы код скомпилировался и работал без ошибок.
Обратите внимание, что mscorlib не является сборкой .NET, как любая другая, она полна неприятных ссылок на собственный код и не может использоваться каким-либо осмысленным образом за пределами запланированного времени выполнения.