У замка DynamicProxy Interceptor возникают проблемы с разными сборками

У меня есть такой сценарий:

Я использую перехватчик для перехвата вызовов класса, который находится внутри сборки (назовем его Feature), на который ссылается основной проект. Функция сборки устанавливается NuGet (она не общедоступная, а наша внутренняя) и имеет ссылку на другую сборку (назовем ее Core). Основной проект также ссылается на сборку Core. Ядро содержит определение класса, которое используется в качестве типа аргумента одного из перехваченных методов.

Все работает нормально, если основной проект и Feature ссылаются на одну и ту же версию библиотеки Core. Проблема возникает, когда эти версии отличаются и перехваченный метод использует типы из Core в качестве аргументов метода.

В этой ситуации выдается исключение, в котором говоритсяA strongly-named assembly is required.:

[FileLoadException: Could not load file or assembly 'Core, Version=0.2.2.30, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)] 
 Castle.Proxies.Invocations.IBasketService_Update.InvokeMethodOnTarget() +0
 Castle.DynamicProxy.AbstractInvocation.Proceed() +116
 Project.Basket.BasketServiceUpdatedInterceptor.Intercept(IInvocation invocation) in c:\(...)\Basket\BasketServiceUpdatedInterceptor.cs:20
 Castle.DynamicProxy.AbstractInvocation.Proceed() +604
 Castle.Proxies.IBasketServiceProxy.Update(ProductId productId, UInt16 quantity) +210 (...)

Если версия Core 0.2.2.30 - это версия, которую ожидает компонент сборки, основной проект использует, например, версию 0.2.2.31. Castle DynamicProxy не может найти Core с версией 0.2.2.30, и это правильно, потому что эта точная сборка не развернута в папке bin.

Обратите внимание, что разные версии Core - это совершенно нормальная ситуация в нашем сценарии. Сборка компонента ожидает версию выше указанной - не точная версия.

Я не уверен, должен ли DynamicProxy быть менее жестким в своих ожиданиях сборки, я должен принять это ограничение. Я написал простой прокси-класс, чтобы преодолеть эту проблему, чтобы он больше не блокировал меня, но мешает нам использовать DynamicProxy в наших решениях.

Ответы на вопрос(1)

Ваш ответ на вопрос