【问题标题】:How to setup AutoMapper in ASP.Net Core 6如何在 ASP.Net Core 6 中设置 AutoMapper
【发布时间】:2022-06-27 11:56:58
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

  • typeof(Program).Assembly 我推荐了this question
  • 您的评论是正确的,您可以将其发布为答案,以便我接受。
  • 非常感谢您的回复先生:)

标签: asp.net-core automapper .net-6.0


【解决方案1】:

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

【讨论】:

  • 您可以删除.Assembly 位,它只适用于the same
【解决方案2】:

对于那些像我一样不知道的人。

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 这不是和a previous answer提供的建议基本一样吗?您将其根植于不同的持久类(Program,而不是 Startup),但基本概念是相同的。
    【解决方案4】:

    安装包

    • dotnet 添加包 AutoMapper
    • dotnet 添加包 AutoMapper.Extensions.Microsoft.DependencyInjection

    Program.cs

    builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
    

    创建 MappingProfiles.cs

    namespace XXX.XXX.Helpers;
    
    public class MappingProfiles: Profile {
        public MappingProfiles() {
            CreateMap<Address, AddressDto>();
        }
    }
    

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 2019-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-19
        • 2016-09-16
        • 1970-01-01
        • 2017-03-23
        相关资源
        最近更新 更多