'How to setup AutoMapper in ASP.Net Core 6

How to configure AutoMapper in ASP.Net Core 6

I have a project which is written in .Net 3.1 so we had Startup.cs class.

I am migrating it to .net core 6

now when I put the following configuration in my .Net 6 Program.cs

             builder.Services.AddAutoMapper(typeof(Startup));

I get error the type or namespace Startup could not be found

Any suggestions ?, how can I fix it or configure it in .net 6



Solution 1:[1]

Using this line instead: typeof(Program).Assembly

Solution 2:[2]

For those who didn't know like me.

  1. Install AutoMapper extension for DI via NuGet or by dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection
  2. Then in the Program.cs file register the service with: builder.Services.AddAutoMapper(typeof(<name-of-profile>)); (In .NET 6 we no longer have the StartUp.cs)

I used Profiles to do my mapping configuration. Here's a link from Automapper about profiles.

Solution 3:[3]

Use this line: builder.Services.AddAutoMapper(typeof(Program));

Solution 4:[4]

Install AutoMapper Package(version as per your proj requirement)

Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection -Version 9.0.0

after that register a service in CinfigureServices on Startup.cs

using AutoMapper;
public void ConfigureServices(IServiceCollection services){
    services.AddAutoMapper(typeof(Startup));
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Tiny Wang
Solution 2 Khutso
Solution 3 Islam Helmy
Solution 4 Vikas