public static void Main()
var rules = Rules.Default.WithConcreteTypeDynamicRegistrations(reuse: Reuse.Transient)
.With(Made.Of(FactoryMethod.ConstructorWithResolvableArguments))
.WithFuncAndLazyWithoutRegistration()
.WithTrackingDisposableTransients()
.WithFactorySelector(Rules.SelectLastRegisteredFactory());
var c = new Container(rules);
c.Register(typeof(IServiceA), typeof(ServiceA), Reuse.Transient, ifAlreadyRegistered: IfAlreadyRegistered.Replace, serviceKey: "Test");
var service = c.Resolve<IServiceA>();
Console.WriteLine("Was able to resolve IServiceA without Exception... {0}", service.GetType().FullName);
public interface IServiceA
public class ServiceA : IServiceA
public string Text { get; set; }