2014-12-17 2 views
1

При запуске приложения, которое загружается с помощью MefBootstrapper из PRISM, я иногда получаю сообщение System.ComponentModel.Composition. Это во время композиции, когда возникают проблемы с загрузкой какой-либо части. Однако приложение все еще запускается, но в непредсказуемом состоянии, поскольку доступны не все функции. Есть ли способ сделать MEF исключение, когда эта проблема возникает, поэтому я могу справиться с ней как с ошибкой?Остановить приложение на System.ComponentModel.Composition Предупреждение от MEF

ответ

1

Просто передать значение CompositionOptions.DisableSilentRejection в качестве второго параметра при создании CompositionContainer:

var container = new CompositionContainer(catalog, CompositionOptions.DisableSilentRejection); 

Поступая таким образом, (по умолчанию) тихий отказ будет отключен, поэтому все отказы будут приводить к ошибкам.

Подробнее, как обычно, in MSDN.

+0

Я действительно пробовал это, пока искал решение, но MEF, похоже, не уважает этот вариант. Он все еще просто дает предупреждение в окне вывода. Возможно, я использую неправильную версию MEF? –

+0

@RichardHoultz, какую версию вы используете? Это похоже на работу с System.ComponentModel.Composition.dll v4.0.30319 (.NET 4.5). – dymanoid

Смежные вопросы