Как сканировать и автоматически настраивать профили в AutoMapper?

Есть ли способ автоматически настроить Automapper для сканирования всех профилей в пространстве имен / сборке? Я хотел бы добавить профили сопоставления в AutoMapper из заданной сборки, отфильтрованной по заданному интерфейсу, что-то вроде соглашений о сканировании в StructureMap:

    public static void Configure()
    {
        ObjectFactory.Initialize(x =>
            {
                // Scan Assembly
                x.Scan(
                    scanner =>
                    {
                        scanner.TheCallingAssembly();
                        scanner.Convention<MyCustomConvention>();
                        scanner.WithDefaultConventions();
                    });

                // Add Registries
                x.AddRegistry(new SomeRegistry());
            });

        Debug.WriteLine(ObjectFactory.WhatDoIHave());
    }

public class MyCustomConvention : IRegistrationConvention
{
    public void Process(Type type, Registry registry)
    {
        if (!type.CanBeCastTo(typeof(IMyType)))
        {
            return;
        }

        string name = type.Name.Replace("SomeRubishName", String.Empty);
        registry.AddType(typeof(IMyType), type, name);            
    }

Я пытался использовать SelfConfigure, но не могу найти документацию о том, как использовать его для фильтрации профилей:

    public static void Configure()
    {
        Mapper.Initialize(x =>
                              {
                                  // My Custom profile
                                  x.AddProfile<MyMappingProfile>();

                                  // Scan Assembly
                                  x.SelfConfigure(Assembly.GetCallingAssembly());
                              });
    }

Другой вопрос, как я могу сообщить обо всех картах / профилях, которые уже инициализированы (что-то вроде ObjectFactory.WhatDoIHave () в StructureMap)?

Ответы на вопрос(6)

Ваш ответ на вопрос