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

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

используя перехватчик, чтобы перехватывать вызовы класса, который находится внутри сборки (пустьНазовите это Feature), на которую ссылается основной проект. Функция сборки установлена NuGetне общедоступный, но наш внутренний) и имеет ссылку на другую сборку (пустьзовут это ядро). Основной проект также ссылается на сборку 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)

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