如何在 ASP.Net Core 6 中设置 AutoMapper

How to setup AutoMapper in ASP.Net Core 6

如何在 ASP.Net Core 6

中配置 AutoMapper

我有一个用 .Net 3.1 编写的项目,所以我们有 Startup.cs class。

我正在将它迁移到 .net core 6

现在,当我将以下配置放入我的 .Net 6 时 Program.cs

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

我收到错误消息,找不到类型或命名空间启动

有什么建议吗?如何在 .net 6 中修复或配置它

安装 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));
}

改用这一行:typeof(Program).Assembly

使用这一行: builder.Services.AddAutoMapper(typeof(程序));

对于像我这样不了解的人。

  1. 通过 NuGet 或 dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection
  2. 安装 DI 的 AutoMapper 扩展
  3. 然后在 Program.cs 文件中注册服务:builder.Services.AddAutoMapper(typeof(<name-of-profile>));(在 .NET 6 中我们不再有 StartUp.cs)

我使用配置文件进行映射配置。这是来自 Automapper 的关于配置文件的 link