В X/WebSiteMVC3/Ядро/DependencyResolution/XProfile.cs, у меня есть существующее отображение, которое выглядит немного что-то вроде этого:Ошибка AssertConfigurationIsValid AutoMapper при первой загрузке?
CreateMap<DomainObjects.Entities.Thing1, Models.Thing1>();
CreateMap<Models.Thing1, DomainObjects.Entities.Thing1>()
.ForMember(a => a.Thing2, opt => opt.Ignore())
.ForMember(a => a.ModifiedBy, opt => opt.Ignore())
.ForMember(a => a.ModifiedDate, opt => opt.Ignore())
.ForMember(a => a.CreatedBy, opt => opt.Ignore())
.ForMember(a => a.CreatedDate, opt => opt.Ignore());
И мне нужно, чтобы добавить отображение для своего дочернего объекта, так что я положить в этом:
CreateMap<DomainObjects.Entities.Thing2, Models.Thing2>();
CreateMap<Models.Thing2, DomainObjects.Entities.Thing2>()
.ForMember(a => a.ModifiedBy, opt => opt.Ignore())
.ForMember(a => a.ModifiedDate, opt => opt.Ignore())
.ForMember(a => a.CreatedBy, opt => opt.Ignore())
.ForMember(a => a.CreatedDate, opt => opt.Ignore());
И это работает, за исключением первой загрузки страницы, я получаю это: были найдены
неотображённых членов. Просмотрите типы и элементы ниже. Добавить выражение пользовательского отображения, игнорировать, добавить пользовательский распознаватель или изменить тип источника/назначения
Thing2 -> Thing2 (список членов назначения)
XXWebSiteMVC3.Models.Thing2 -> XXDomainObjects.Entities .Thing2 (список членов назначения)
thing1
StackTrace:
AutoMapper.ConfigurationStore.AssertConfigurationIsValid (IEnumerable`1 typeMaps) +684 AutoMapper.ConfigurationStore.AssertConfigurationIsValid() +12 AutoMapper.Mapper.AssertConfigurationIsValid() +23 XXWebSiteMVC3.Core.DependencyResolution.AutomapperRegistry.Configure() в C: \ Source \ XXWebSiteMVC3 \ ядро \ DependencyResolution \ AutomapperRegistry.cs: 13 XXWebSiteMVC3.MvcApplication.Application_Start() в C: \ Source \ XXWebSiteMVC3 \ Global.asax.cs: 96
Но каждый другая последующая нагрузка, она работает по назначению !?
Итак ... почему Thing2 терпит неудачу, когда его реализация совпадает с реализацией Thing1 (которая работает все время)? И почему Thing1 упоминается в ошибке для Thing2 (у меня такое чувство, что это причина, но штопает, если я смогу увидеть ее в 10 утра в этот холостой четверг)?
Muchos Danke!
Как вы звоните в конфигурацию automapper? Из Application_Start в global.asax.cs? – Simon
Да, "Core.DependencyResolution.AutomapperRegistry.Configure();" вызывается из Application_Start в global.asax.cs.Я был в ужасе от этой проблемы, благодаря тому, что это мое первое приложение MVC любого уровня, и тот факт, что разработчик, который написал его, находится в отпуске, поэтому я стрингер (который тоже не хочет меняться многое в кодовой базе благодаря моему невежеству больше, чем что-либо еще). – Campbeln