Предполагая, что вы создали Kernel
, вы должны иметь возможность создать и разрешить его с помощью:
kernel.Get(type)
.... тогда я прочитал вопрос .... Предполагая, что MyAssembly.dll имеет реализацию IMyType, вам нужно (в вашей основной сборке): -
kernel.Load( "MyAssembly.dll")
А в вашей динамически загруженной сборке: -
public class Module : StandardModule
{
public override void Load()
{
Bind<IMyType>().To<MyType>();
}
}
И не забудьте посмотреть, является ли MEF ответом здесь, так как вы не хотите писать множество явного управления плагином и / или логику обнаружения, если вы можете помочь ему (но если вы просто делаете простые вещи и только выполняя Assembly.LoadFrom()
с целью задать вопрос, вы, вероятно, все еще в милости Нинъекта.
То же самое, если вам действительно нужно разрешить интерфейс через Assembly.GetType()
, вам, вероятно, следует использовать что-то вроде dynamic
, чтобы выполнить позднее связывание, которое вам, вероятно, придется сделать (и прежде чем вы это узнаете, вы должны использовать динамический язык или хостинг скриптового языка)