Boris Zinchenko Ответов: 0

Динамическое разрешение объектов в MEF


У меня есть сборка, динамически загружаемая через MEF. Внутри сборки у меня есть динамические объекты, реконструированные из JSON компанией Newtonsoft.Джнон лайк следует за ним.
JObject jObject = (JObject)JsonConvert.DeserializeObject(data);
long id = jObject.id;

Этот код компилируется и отлично работает на нескольких машинах с заданной тестовой строкой в качестве аргумента. Однако на одной машине по какой-то причине он выходит из строя со следующим исключением:
Цитата:
Анонимно Размещенная Система Сборки DynamicMethods.Объект CallSite.Цели(Системы.Во время выполнения.Услуги компиляторов.Закрытие, Система,Время Выполнения.Услуги компиляторов.Место Вызова, Система.Объект) 'Newtonsoft.Json.Linq.JObject' не содержит определения для 'id' на CallSite.Цель(Закрытие , CallSite , Object )

Важно отметить, что на всех машинах я запускаю один и тот же скомпилированный набор двоичных файлов с одинаковыми входными данными. Машины также имеют равную ОС Win 10 x64. Почему ошибка появляется на одной машине и не появляется на других? Спасибо.

Что я уже пробовал:

Я попытался устранить этот вызов "id" и получить доступ к другим членам jObject. Ошибка остается той же самой. Похоже, что вся динамическая загрузка объектов JSON нарушена. Newtonsoft.Сборка Jnon копируется вместе с другими сборками в этом пакете и находится на всех тестовых машинах в той же папке, что и исполняемые сборки exe и MEF.

0 Ответов