Одна вещь, которую стоит упомянуть при тестировании этого.
Второй настраиваемый вызов отображается для отмены первого вызова.
.Configure(c => c.LifeStyle.Is(LifestyleType.Transient))
.Configure(c => c.Parameters(Parameter.ForKey("P").Eq("${foobar}")))
Если добавить к тесту
var all2 = Container.ResolveAll<I>();
Assert.IsTrue(all.Count(i => all2.Contains(i)) == 0);
это не удастся, но вы ожидаете, что оно тоже пройдет, так как все объявлено временным.
Это означает, что временный образ жизни был утрачен, и вместо него использовался образ жизни по умолчанию для синглтона.
Изменение вызова конфигурации на приведенные ниже приводит к прохождению теста.
.Configure(c => .LifeStyle.Is(LifestyleType.Transient).Parameters(Parameter.ForKey("P").Eq("${foobar}")))
Спасибо.