StructureMap v3中缺少WhatDoIHave和AssertConfigurationIsValid

时间:2014-04-04 13:27:15

标签: structuremap structuremap3

我遇到了可怕的“没有注册默认实例,并且无法自动确定类型”,即使我已为默认约定设置了注册表。

要调试我正在尝试使用WhatDoIHave和Asset ...方法,但ObjectFactory上不再存在这些方法。我错过了什么或者在最新版本中删除了这些内容吗?

1 个答案:

答案 0 :(得分:1)

Jeremy Miller在SM3 3.0 here中解释了新改进的错误报告。

“WhatDoIHave”保留在SM 3中: (摘自上述博客文章)

   [Test]
    public void what_do_I_have()
    {
        var container = new Container(x => {
            x.For<IDevice>().AddInstances(o => {
                o.Type<ADevice>().Named("A");
                o.Type<BDevice>().Named("B").LifecycleIs<ThreadLocalStorageLifecycle>();
                o.Type<CDevice>().Named("C").Singleton();
            });

            x.For<IDevice>().UseIfNone<DefaultDevice>();
        });

        Debug.WriteLine(container.WhatDoIHave());

        Debug.WriteLine(container.WhatDoIHave(pluginType:typeof(IDevice)));
    }