How to setup AutoMapper in ASP.Net Core 6
Emily Wong
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
26 Answers
install package
- dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection
in Program.cs
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());create MappingProfiles.cs
namespace XXX.XXX.Helpers;
public class MappingProfiles: Profile { public MappingProfiles() { CreateMap<Address, AddressDto>(); }
} Using this line instead: typeof(Program).Assembly
For those who didn't know like me.
- Install AutoMapper extension for DI via NuGet or by
dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection - 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.
Use this line to fix:
builder.Services.AddAutoMapper(typeof(Program));
Try to add this line of code in your Program.cs.
1services.AddAutoMapper(Assembly.GetExecutingAssembly());
Install AutoMapper Package(version as per your proj requirement)
Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection -Version 9.0.0after that register a service in CinfigureServices on Startup.cs
using AutoMapper;
public void ConfigureServices(IServiceCollection services){ services.AddAutoMapper(typeof(Startup));
} 1