Как использовать перенаправление привязки при динамической загрузке сборки с помощью MEFC#

Место общения программистов C#
Ответить
Anonymous
 Как использовать перенаправление привязки при динамической загрузке сборки с помощью MEF

Сообщение Anonymous »

У меня есть библиотека .NET 4.8, которая загружается как плагин через MEF. Эта библиотека автоматически сгенерировала перенаправления привязки для некоторых своих зависимостей: Мое основное приложение (.NET 4.8) динамически загружает сборку библиотеки через MEF. Когда основное приложение загружает библиотеку (например, MyLibrary.dll), оно игнорирует перенаправления привязки, определенные в файле конфигурации (

Код: Выделить всё

MyLibrary.dll.config
), который находится рядом со сборкой библиотеки, и я получаю исключение композиции, поскольку сборка не загружается:

Код: Выделить всё

Unhandled Exception: System.ComponentModel.Composition.CompositionException: The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.
1) Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.  (Exception from HRESULT: 0x80131040)
Resulting in: An exception occurred while trying to create an instance of type 'MyLibrary.MyType'.
Resulting in: Cannot activate part 'MyLibrary.MyType'.
Element: MyLibrary.MyType -->  MyLibrary.MyType -->  AssemblyCatalog (Assembly="MyLibrary, Version=3.9.0.0, Culture=neutral, PublicKeyToken=null")
Resulting in: Cannot get export 'MyLibrary.MyType (ContractName="LibraryBaseType")' from part 'MyLibrary.MyType'.
Element: MyLibrary.MyType (ContractName="LibraryBaseType") -->  MyLibrary.MyType -->  AssemblyCatalog (Assembly="MyLibrary, Version=3.9.0.0, Culture=neutral, PublicKeyToken=null")
at System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
at System.ComponentModel.Composition.Primitives.Export.get_Value()
at System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export)
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at MainApplication.Start(String[] args) in ...\MainApplication.cs:line 65
at MainApplication.Main(String[] args) in ...\MainApplication.cs:line 31
Может ли мое приложение каким-либо образом учитывать перенаправления привязки для динамически загружаемой библиотеки, если перенаправления привязки определены вместе со сборкой библиотеки? Или я застрял, копируя все перенаправления привязки в app.config основного приложения?


Подробнее здесь: https://stackoverflow.com/questions/750 ... y-with-mef
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»