I'm trying to learn more about .Net Core and Castle dependency injection and inversion of control, but I just can't find neither UseLog4Net in LoggingFacility, while implementing my CompositionRoot, nor FromThisAssembly in Classes while implementing my installers. What am I doing wrong?
CompositionRoot.cs
using Castle.Facilities.Logging;
using Castle.Windsor;
namespace PitchulaBeerNBurger.POS.CrossCuttingConcerns.DependencyInjection
{
public class CompositionRoot
{
public virtual void ComposeApplication(IWindsorContainer container)
{
container.AddFacility<LoggingFacility>(f => f.UseLog4Net());
container.Install(
new Installers.CrossCuttingConcerns(),
new Installers.Persistence(),
new Installers.Domain(),
new Installers.Business()
);
}
}
}
DomainInstaller.css
using Castle.MicroKernel.Registration;
using Castle.MicroKernel.SubSystems.Configuration;
using Castle.Windsor;
namespace PitchulaBeerNBurger.POS.CrossCuttingConcerns.Installers
{
public class Domain : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Classes.FromThisAssembly()
.Where(type => type.Name.EndsWith("Factory"))
.LifestyleSingleton());
}
}
}
NuGet packages installed:
Castle.Core.4.3.1
Castle.Core-log4net.4.3.1
Castle.LoggingFacility