【发布时间】:2015-02-06 05:26:43
【问题描述】:
我们正在为一个项目使用Automapper,并且似乎随机得到以下错误:
AutoMapper.AutoMapperConfigurationException:找到未映射的成员。查看下面的类型和成员。添加自定义映射表达式、忽略、添加自定义解析器或修改源/目标类型
代码已几个月未更改。我得到那个错误,刷新并且错误消失了,页面工作正常。我正在使用
Mapper.AssertConfigurationIsValid();
不知道为什么它抱怨映射不好,然后刷新,又好了,有人遇到过这个吗?调试无济于事,因为它是随机的,有时没有错误,然后有时它会在网站上的某个地方弹出,再回来就可以了。该错误也会出现在随机页面上,不是同一页面,也不是同一映射。
【问题讨论】:
-
之后可能“工作正常”,因为对
AssertConfigurationIsValid的调用发生在应用启动时,应用现在已启动,因此不会再次被调用。 -
内部异常应该能准确地告诉您问题所在。
-
@KirkWoll 我猜是一样的,这是由于应用程序在一天中第一次启动,也许在它进行映射时有些东西还没有准备好。我尝试重置 IIS 和应用程序池,但它再次随机无法复制错误。
-
@AndrewWhitaker 完整错误是 AutoMapper.AutoMapperConfigurationException:找到未映射的成员。查看下面的类型和成员。添加自定义映射表达式,忽略,添加自定义解析器,或修改源/目标类型 RETel -> SelectItem (Destination member list) DomainClasses.RETel -> Models.SelectItem (Destination member list) 但再次刷新就可以了,并且此映射并不总是在此页面上发生。我已经在其他页面上获得了其他映射,但并不总是发生。
-
好吧,如果你解决了你看到的问题,那么它们就不会再出现了。您还可以创建一个单元测试,在您的映射上调用
AssertConfigurationIsValid并获取问题的完整列表
标签: c# asp.net automapper