Компонент для поддержки сервиса не найден ... при попытке зарегистрировать компоненты в коде вместо файла .config - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть рабочее приложение, которое использует Castle Windsor. Виндзор регистрирует компоненты на основе файлов конфигурации, которые есть в моем проекте. Теперь мне нужно перенести регистрацию из файла .config в код. Я сделал это, но я получаю ошибку «Компонент для поддержки сервиса ... не найден». Моя проблема в том, что когда я отлаживаю приложение при запуске, я регистрирую все компоненты, но все равно получаю ошибку. У меня есть две библиотеки классов, в которых находятся компоненты. В основном проекте я ссылаюсь на эти библиотеки и регистрирую компоненты. Это моя реализация:

public class IocContainer
{
    private static IWindsorContainer _container;

    private static void RegisterInjector(WindsorContainer container)
    {
        container.Register(
            Component.For<IWindsorContainer>()
                .Instance(container));
    }
    public static void Setup()
    {
        var container = new WindsorContainer();

        container.Install(FromAssembly.This());

        RegisterInjector(container);
        // _container = new WindsorContainer().Install(FromAssembly.This());

    }
}

public class WindsoreInstaller : IWindsorInstaller
{
    public void Install(IWindsorContainer container, IConfigurationStore store)
    {

        container.Register(Component.For<Interface>().ImplementedBy<Implementation>());
    }
}

protected void Application_Start(object sender, EventArgs e)
    {

        IocContainer.Setup();
    }

Может кто-нибудь помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...