0

ApplicationContext を登録しようとしていますが、エラーが発生し続けます。

私の Windsor インストーラーは次のようになります。

    public void Install(IWindsorContainer container, IConfigurationStore store)
    {
        container.Register(

            Component.For<ApplicationContext>().ImplementedBy<MyInitializer>(),

            Classes.FromThisAssembly().Pick()
                    .WithService.DefaultInterfaces()
                    .LifestyleTransient()
            );
    }

しかし、このように解決しようとすると:

public class BootStrapperWindsor
{
    public IWindsorContainer BootstrapContainer { get; set; }
    public ApplicationContext ApplicationContext
    {
        get { return BootstrapContainer.Resolve<MyInitializer>(); }
    }

    public BootStrapperWindsor()
    {
         BootstrapContainer = new WindsorContainer().Install(FromAssembly.This());
    }
}

ApplicationContext を呼び出すと、次のエラーが発生します。

「サービス MyInitializer をサポートするコンポーネントが見つかりませんでした」

構造マップを使用し、構造マップレジストリで同様の関連付けを行った場合、正常に機能します。

For<ApplicationContext>().Use<MyInitializer>();

しかし、これを正しく Windsor に変換できないようです。

MyInitializer で ApplicationContext を実装できないというのは、何が間違っているのでしょうか?

また、MyInitializer は ApplicationContext を継承しています。

4

1 に答える 1