<PackageReference Include="Castle.Windsor" Version="3.2.0" />

ConfigurationDescriptor

using Castle.Core; using Castle.Core.Configuration; using Castle.MicroKernel.Registration; using System.Collections.Generic; namespace Castle.MicroKernel.ModelBuilder.Descriptors { public class ConfigurationDescriptor : IComponentModelDescriptor { private readonly Node[] configNodes; private readonly IConfiguration configuration; public ConfigurationDescriptor(params Node[] configNodes) { this.configNodes = configNodes; } public ConfigurationDescriptor(IConfiguration configuration) { this.configuration = configuration; } public void BuildComponentModel(IKernel kernel, ComponentModel model) { if (configuration != null) ((List<IConfiguration>)model.Configuration.get_Children()).Add(configuration); else { Node[] array = configNodes; foreach (Node node in array) { node.ApplyTo(model.Configuration); } } } public void ConfigureComponentModel(IKernel kernel, ComponentModel model) { } } }