Мы боролись несколько дней с MEF, который не загружает определенную DLL.
2018-12-10 09:58:32,762 [5] ERROR RfcServer.RfcServer The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.
1) No exports were found that match the constraint:
ContractName RfcServer.Definitions.ICryptManager
RequiredTypeIdentity RfcServer.Definitions.ICryptManager
Сначала мы усовершенствовали наше приложение настолько, что мы использовали CustomRefelctionContext для записи, какие типы будут «видны» из MEF:
public class CatalogFilter : CustomReflectionContext
{
protected override IEnumerable<object> GetCustomAttributes(MemberInfo member, IEnumerable<object> declaredAttributes)
{
var memberName = member.ToString();
var hasExportAttribute = declaredAttributes.FirstOrDefault(f => f is ExportAttribute) != null;
// Log member name
Console.WriteLine(memberName);
// Default: No change
return base.GetCustomAttributes(member, declaredAttributes);
}
}
Пример этого был данDirectoryCatalog (CustomReflectionContext).По результатам мы узнаем, что наше приложение не загружает dll.
Мы решили
Мы передали наше приложение в другой отдел через почтовый файл по почте.После извлечения файлов некоторые (не все!) Библиотеки DLL помечаются как «небезопасные», и вам необходимо разблокировать эти файлы:
Разблокировать библиотеку DLL