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

.NET6 Blazor WASM PWA无Startup类时AutoMapper配置失败如何解决

Blazor WASM 项目 AutoMapper 配置方案

核心原理

AddAutoMapper 方法传入的类型参数仅用于定位需要扫描映射配置的程序集,并不强制要求必须是Startup类,只要传入任意一个和你的映射配置处于同一程序集的有效类型即可。

注意:请确保项目已安装 AutoMapper.Extensions.Microsoft.DependencyInjection NuGet包,版本需和你的.NET版本兼容。

解决方法

方案1:直接替换类型参数

直接将原来的typeof(Startup)替换为当前项目的Program类类型即可,Blazor WASM 项目的入口类默认是Program:

// Blazor WASM Program.cs 中的配置代码
builder.Services.AddAutoMapper(typeof(Program));

如果你使用的是带顶层语句的Program.cs,无需额外定义Program类,编译器会自动生成该类,直接使用typeof(Program)即可生效。

方案2:指定Profile类(更推荐)

推荐单独定义继承自Profile的配置类统一管理映射规则,配置时直接传入Profile类的类型,扫描范围更精准:

  1. 先定义映射配置类
public class MappingProfile : Profile
{
    public MappingProfile()
    {
        // 这里写你的映射规则,示例:
        CreateMap<SourceModel, TargetModel>();
    }
}
  1. 注册时传入该Profile的类型
builder.Services.AddAutoMapper(typeof(MappingProfile));

多程序集场景处理

如果你的映射配置存放在单独的类库项目中,只需传入类库项目中任意一个对应类型(比如类库中定义的Profile类)即可,AutoMapper会自动扫描该程序集下的所有映射配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:36:03