Для моего проекта MVC, я модернизировал свои NuGet пакеты и получил последнюю версию AutoMapper от https://www.nuget.org/packages/AutoMapper/AutoMapper не работает после обновления 5.1.1
Это говорит IList поддерживается в качестве источника отображения; https://github.com/AutoMapper/AutoMapper/wiki/Lists-and-arrays
Он работал со старой версией, и я только обновил свой раздел конфигурации.
Конфигурация приведена ниже;
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AutoMapperConfig.RegisterMappings();
}
}
public static void RegisterMappings()
{
Mapper.Initialize(cfg =>
{
cfg.CreateMap<RssNewDto, RssNewViewModel>();
});
}
// where I am trying to resolve
[HttpGet]
public IList<RssNewViewModel> ReadList()
{
// EXCEPTION
IList<RssNewViewModel> items2 = AutoMapper.Mapper.Map<IList<RssNewDto>, IList<RssNewViewModel>>(items);
return items2;
}
ERROR: AutoMapper.AutoMapperMappingException occurred
HResult=-2146233088 Message=Error mapping types. InnerException: HResult=-2146233088 Message=Missing type map configuration or unsupported mapping.
я упускаю что-то на конфигурации?
то, что остальная часть сообщения исключений? Он должен включать информацию о недостающем типе. –
@JimmyBogard после того, как я вызываю метод MapperConfiguration.AssertConfigurationIsValid, он показал мне все недостающие ошибки конфигурации. Я считаю, что это нужно называть внутренне после метода Initialize. Поскольку люди могут забыть вызывать этот метод, может быть неверный сконфигурированный Mapper, и он будет укусить их во время выполнения. –
О да, я вижу, что многие люди это делают. Я не уверен в том, чтобы делать это на производстве, но я думаю, что я в меньшинстве. –