VS2019带Identity的Angular8模板添加AutoMapper后认证报错如何解决
解决方案
你遇到的报错核心原因是AutoMapper全量程序集扫描与ASP.NET Core Identity自带程序集的配置产生冲突,同时可能存在依赖版本不兼容、Profile所在程序集未正确加载的问题,按以下步骤修复即可:
- 修正Startup类中的AutoMapper注册逻辑,不要扫描当前域全部程序集,直接指定MappingProfile所在的程序集即可,避免扫描到Identity相关程序集触发冲突。修改后的代码如下:
services.AddAutoMapper(cfg => cfg.AddProfile<MappingProfile>(), typeof(MappingProfile).Assembly);
- 确认依赖版本适配:Visual Studio 2019自带的Identity+Angular 8模板对应的运行时为.NET Core 3.1,需保证你安装的
AutoMapper和AutoMapper.Extensions.Microsoft.DependencyInjection版本为适配.NET Core 3.1的7.x/8.x版本,不要安装9.x及以上的高版本(高版本仅支持.NET 5+,在.NET Core 3.1环境下运行会抛出异常)。 - 确认主Web项目已经添加了MappingProfile所在类库的项目引用,确保程序启动时可以正确加载Profile所在的程序集。
空的MappingProfile本身不会导致报错,该问题和你是否配置映射规则无关联。
内容的提问来源于stack exchange,提问作者john
相关产品推荐
相关产品推荐

