如何在.Net core 2.0控制台应用程序中将AutoMapper添加到DI

Mat*_*eri 2 c# console-application automapper .net-core

我尝试在我的.Net Core 2.0控制台应用程序中使用AutoMapper.我的班级看起来像这样:

public class AutoGetCurrency
{
    private readonly IMapper mapper;
    public AutoGetCurrency(IMapper mapper) {
    this.mapper = mapper;
    }
    ....
}
Run Code Online (Sandbox Code Playgroud)

我尝试将服务添加到Main方法中:

static void Main(string[] args)
{
    var services = new ServiceCollection();
    ServiceProvider = services.BuildServiceProvider();
    services.AddTransient<IMapper>();
    ....
}
Run Code Online (Sandbox Code Playgroud)

但我有下一个错误'发生了一个或多个错误.(你调用的对象是空的.)'

请告诉我如何添加AutoMapper以使用DI.

Kah*_*azi 7

你需要将这个nuget包AutoMapper.Extensions.Microsoft.DependencyInjection添加AutoMapper到你的项目并添加到你的ServiceCollection喜欢这个

var services = new ServiceCollection();
services.AddAutoMapper(mapperConfig => mapperConfig.AddProfiles(GetType().Assembly))
ServiceProvider = services.BuildServiceProvider();
Run Code Online (Sandbox Code Playgroud)