如何在 ASP.Net Core 6 中配置 AutoMapper
我有一个用 .Net 3.1 编写的项目,所以我们有 Startup.cs 类。
我正在将其迁移到.net core 6
现在当我将以下配置放入我的.Net 6 Program.cs中时
builder.Services.AddAutoMapper(typeof(Startup));
我收到错误,找不到类型或命名空间启动
有什么建议吗?我该如何修复它或在 .net 6 中配置它
安装包
在 Program.cs
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
创建MappingProfiles.cs
namespace XXX.XXX.Helpers;
public class MappingProfiles: Profile {
public MappingProfiles() {
CreateMap<Address, AddressDto>();
}
}
改用这一行:
typeof(Program).Assembly
对于那些像我一样不知道的人。
dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection
builder.Services.AddAutoMapper(typeof(<name-of-profile>));
(在 .NET 6 中我们不再有 StartUp.cs)我使用配置文件来进行映射配置。这是来自 Automapper 的有关配置文件的链接。
使用此行修复:
builder.Services.AddAutoMapper(typeof(Program));
尝试将此
line of code
添加到您的 Program.cs
中。
services.AddAutoMapper(Assembly.GetExecutingAssembly());
AutoMapper.Extensions.Microsoft.DependencyInje 显示已弃用
安装 AutoMapper 软件包(版本根据您的项目要求)
Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection -Version 9.0.0
之后在 Startup.cs 上的 CinfigureServices 中注册一个服务
using AutoMapper;
public void ConfigureServices(IServiceCollection services){
services.AddAutoMapper(typeof(Startup));
}