I am trying to figure out the proper way to configure AutoMapper in my application's Startup.cs file and then use it throughout my application.

I am trying to use [this documentation](https://github.com/AutoMapper/AutoMapper/wiki/Migrating-from-static-API) which somewhat explains how to still give AutoMapper a static feel without the old static API. The example uses StructureMap.

I would like to know how I can do something similar, but in a Core 1.0 app using the built in services container.

I am assuming that in the Configure function I would configure AutoMapper and then in the ConfigureServices function I would add it as a transient.

I am assuming in the end the cleanest and most proper way to do this is using dependency injection. Here is my current attempt but it is not working:

**Startup.cs**

```
public IMapper Mapper { get; set; }
private MapperConfiguration MapperConfiguration { get; set; }
public void ConfigureServices(IServiceCollection services)
{
     services.AddTransient<IMapper, Mapper>();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    MapperConfiguration MapperConfiguration = new MapperConfiguration(cfg =>
    {
        cfg.CreateMap<Product, ProductViewModel>().ReverseMap();
    });

    Mapper = MapperConfiguration.CreateMapper();
}

```

**In my controller:**

```
private IMapper _mapper { get; set; }
// Constructor
public ProductsController(IMapper mapper)
{
    _mapper = mapper;
}

public IActionResult Create(ProductViewModel vm)
{
    Product product = _mapper.Map<ProductViewModel, Product>(vm);
}

```

It just isn't working at all... I must be missing some step or doing something wrong.