私は次のような状況に似ています
public class FooService : IFooService
{
public IBarService BarService { get; set; }
}
public class BarService : IBarService
{
public IFooService FooService { get; set; }
}
IFooService と IBarService はどちらも IApplicationService から継承されます コンポーネント レジストラは次のようになります
container.Register(
AllTypes.FromAssemblyContaining<IApplicationService>()
.BasedOn<IApplicationService>()
.WithService.FromInterface()
.LifestyleSingleton());
問題は、プロパティが null であることです。foo または bar サービスを使用しない他のサービスを追加すると、サービスは正しく解決されます。
Castle Windsor は相互参照を処理できないようです。または、コンポーネントレジストラーに追加する必要があるものはありますか?