结构图。在验证容器时识别类型

时间:2011-09-10 03:59:42

标签: c# structuremap

我在使用时验证我的Structuremap配置时收到此错误 我的UnitTest中container.AssertConfigurationIsValid()

No Default Instance defined for PluginFamily MyComp.IMeasureRepository.

对于这个特定的接口,我没有任何依赖注入计划。所以我们可以让Stucturemap忽略这个接口并仍然通过我的UnitTest。

2 个答案:

答案 0 :(得分:2)

使用StructureMap注册的其他内容可能需要IMeasureRepository作为依赖项。 StructureMap需要知道如何满足该依赖。

答案 1 :(得分:1)

我认为接口是作为扫描的一部分注册的,而不是作为ctor参数注册的。扫描时,您可以选择性地包含或排除程序集,名称空间和类型。

你应该可以使用 ExcludeType<IMeasureRepository>() 在扫描配置中。

示例:

ObjectFactory.Initialize(c =>
    {
        c.Scan(scan =>
            {
                scan.TheCallingAssembly();
                scan.WithDefaultConventions();
                scan.ExcludeType<IMeasureRepository>();
            });
    });

有关详细信息,请参阅Scan documentation