У меня есть этот кусок кода в конструкторе класса.
rules = rulesEngineRepository.GetRules(x => x.Enabled);
foreach (var rule in rules)
{
var ruleAssembly = Assembly.LoadFrom($"{rule.AssemblyName}.dll");
kernel.Register(Component.For(ruleAssembly.GetType()).LifestyleSingleton());
}
Оператор Assembly.LoadFrom () работает должным образом и правильно загружает сборку, но следующий вызов kernel.Register () не регистрирует компонент.
Когда к нему обращаются позже, Castle.Windsor взрывается с «не удалось активировать» и внутренним исключением «Нет компонента для поддержки службы ...». Очевидно, что компонент не зарегистрирован.
Может ли кто-нибудь указать, где я здесь не так? Спасибо.