You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 迁移至 .NET 7 时 AutoMapper 在 Startup.cs 中出现错误

.NET 6迁移至.NET 7时AutoMapper编译错误(CS1503)解决方法

错误提示CS1503: Argument 1: cannot convert from 'System.Reflection.Assembly' to 'System.Collections.Generic.IEnumerable<AutoMapper.Profile>',本质是AutoMapper.Extensions.Microsoft.DependencyInjection包的API变更:旧版本中接受Assembly参数的AddAutoMapper重载方法被调整,新版本要求传入IEnumerable<Profile>类型参数,直接传程序集会导致类型不匹配。

解决方法

  • 方法1:通过配置项指定要扫描的程序集
    错误代码示例:

    services.AddAutoMapper(Assembly.GetExecutingAssembly());
    

    修改为:

    services.AddAutoMapper(cfg =>
    {
        cfg.AddMaps(Assembly.GetExecutingAssembly());
    });
    
  • 方法2:传入自定义Profile类所在的程序集(推荐)
    找到你项目中继承自AutoMapper.Profile的自定义配置类(比如UserProfile),用其所在程序集作为参数:

    services.AddAutoMapper(typeof(UserProfile).Assembly);
    

    这种写法会让AutoMapper自动扫描该程序集中所有的Profile实现类。

额外说明

如果项目中AutoMapper.Extensions.Microsoft.DependencyInjection包版本较低,建议升级到与.NET 7兼容的最新版本(如12.x及以上),确保API与框架版本匹配。

内容的提问来源于stack exchange,提问作者User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:20:28