Automapper dice Mapper.Map es obsoleto, mapeos globales?

Había definido en mi proyecto una configuración global de Automapper que me permitiría usarMapper.Map<targetType>(sourceObject); en mi código (Vea mi configuración a continuación).

Actualicé el paquete NuGet y veo el mensaje de que Mapper.Map está obsoleto / depreciado. Regresé a Automapper en GitHub y veo ejemplos como este:

[Test]
public void Example()
{
    var config = new MapperConfiguration(cfg =>
    {
        cfg.CreateMap<Source1, SubDest1>().FixRootDest();
        cfg.CreateMap<Source2, SubDest2>().FixRootDest();
    });

    config.AssertConfigurationIsValid();

    var mapper = config.CreateMapper();

    var subDest1 = mapper.Map<Source1, SubDest1>(new Source1 {SomeValue = "Value1"});
    var subDest2 = mapper.Map<Source2, SubDest2>(new Source2 {SomeOtherValue = "Value2"});

    subDest1.SomeValue.ShouldEqual("Value1");
    subDest2.SomeOtherValue.ShouldEqual("Value2");
}

¿Voy a tener que crear una configuración en CADA método que use un mapeo?

Mi configuración global actual:

namespace PublicationSystem.App_Start
{
    public class AutoMapperConfig
    {
        public static void CreateMaps()
        {
            CreateProjectMaps();
        }

        private static void CreateProjectMaps()
        {
            Mapper.CreateMap<Project, ProjectCreate>();
            Mapper.CreateMap<Project, ProjectSelectable>();
            //...
        }
    }
}

ACTUALIZAR: Gracias a algunos entrenadores de Scott Chamberlain, he creado una clase como esta:

    public class MkpMapperProfile : AutoMapper.Profile
    {
        protected override void Configure() 
        {
            this.CreateMap<Project, ProjectCreate>();

            this.CreateMap<Project, ProjectSelectable>();

            this.CreateMap<Project, ProjectDetails>();

            // Many Many other maps
        }
    }

Estoy pensando que debería tener la 'MapperConfiguration' en mi clase BaseController. Empecé a hacer algo como esto:

public partial class BaseController : Controller
{

    private MapperConfiguration mapConfig;

    public BaseController()
    {
        db = new MkpContext();
        SetMapperConfig();
    }

    private void SetMapperConfig()
    {
        mapConfig = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile<MkpMapperProfile>();
            });
    }

    public BaseController(MapperConfiguration config)
    {
        db = new MkpContext();
        this.mapConfig = config;
    }
}

¿Estoy en el camino correcto?

Respuestas a la pregunta(5)

Su respuesta a la pregunta