Для всех, кто еще не получил его после прохождения вышеизложенного, моя проблема заключалась в том, что я не указывал своим сеттерам «публичное окончательное» обозначение.
MSDN: «.NET Framework версии 4 вводит новые правила безопасности, которые влияют на поведение атрибута AllowPartiallyTrustedCallersAttribute (см.« Прозрачный с точки зрения безопасности код », уровень 2). В .NET Framework 4 по умолчанию для всего кода используется безопасность. -transparent, то есть частично доверенный. Тем не менее, вы можете аннотировать отдельные типы и элементы, чтобы назначить им другие атрибуты прозрачности. "
Я не сталкивался с этим лично, но, возможно, вы импортировали что-то из проекта 3.5.
Ознакомьтесь с этими ссылками:
Изменения безопасности в .NET Framework 4
Это было исправлено в последней версии Moq (на самом деле это было исправление в DynamicProxy). Пожалуйста, дайте последней бета-версии v4 пытаться.