AutoMapper 5.0.0抛出CreateMap异常

本文关键字:异常 CreateMap 抛出 AutoMapper | 更新日期: 2023-09-27 17:54:57

我更新到AutoMapper 5.0.0和得到一个异常当AutoMapper试图创建地图

下面的示例抛出一个类似的异常{" System.Collections.Generic类型的表达式"。IEnumerable ' 1[DTOClass]'不能用于赋值给类型'System '。字符串"}

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Start");
        Mapper.Initialize(cfg =>
        {
            cfg.CreateMap<string, IEnumerable<DTOClass>>().ConvertUsing(src =>
            {
                var response = JsonConvert.DeserializeObject<AnotherClass>(src);
                return response?.TestClasses == null ? null : Mapper.Map<IEnumerable<DTOClass>>(response.TestClasses);
            });
            cfg.CreateMap<TestClass, DTOClass>();
        });
        Console.WriteLine("Done");
    }
}

public class DTOClass
{
    public string Title { get; set; }
}
public class AnotherClass
{
    public TestClass[] TestClasses { get; set; }
}
public class TestClass
{
    public string Title { get; set; }
}

AutoMapper 5.0.0抛出CreateMap异常

我已经在AutoMapper Github上提出了这个问题。在AutoMapper的后续版本中已经解决了这个问题,可以通过MyGet版本进行验证。https://github.com/AutoMapper/AutoMapper/issues/1460