Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修改以前配置的StructureMap配置?_C#_Configuration_Structuremap - Fatal编程技术网

C# 如何修改以前配置的StructureMap配置?

C# 如何修改以前配置的StructureMap配置?,c#,configuration,structuremap,C#,Configuration,Structuremap,我有一个集中式的StructureMap配置,各种用户界面应用程序都附加到该配置中。我从来没有需要修改“核心”配置,只是附加到它上面。我今天遇到一个实例,需要修改/删除特定应用程序的核心配置。当然,我可以将核心配置代码移到不同的应用程序中,但在这样做之前,我想确保structuremapapi没有遗漏一些明显的东西。以下是我的核心配置的缩写版本: ObjectFactory.Initialize(cfg => { cfg.Scan(scan => {

我有一个集中式的StructureMap配置,各种用户界面应用程序都附加到该配置中。我从来没有需要修改“核心”配置,只是附加到它上面。我今天遇到一个实例,需要修改/删除特定应用程序的核心配置。当然,我可以将核心配置代码移到不同的应用程序中,但在这样做之前,我想确保structuremapapi没有遗漏一些明显的东西。以下是我的核心配置的缩写版本:

ObjectFactory.Initialize(cfg =>
{
    cfg.Scan(scan =>
        {
            scan.Assembly("Core");
            scan.WithDefaultConventions();

            scan.ConnectImplementationsToTypesClosing(typeof(IValidationRule<>));
            // more after this....
        }
}

是否有一种方法可以修改我的StructureMap配置以不查找
IValidationRule
s?我可以弹出
IValidationRule
s的非单例实例吗?我是否有其他选项来修改我的StructureMap配置?

下面的内容怎么样?我认为这应该行得通

ObjectFactory.Model.EjectAndRemoveTypes(match
    => match != null && match.GetInterfaces().Any(i
        => i.Name.Contains("IValidationRule")));

在ObjectFactory已被弃用的StructureMap3中是否可能出现类似的情况?
ObjectFactory.Model.EjectAndRemoveTypes(match
    => match != null && match.GetInterfaces().Any(i
        => i.Name.Contains("IValidationRule")));