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...
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
6 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.
services.AddAutoMapper(Assembly.GetExecutingAssembly());
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));
}