2016-07-05 11 views
0

オートマッパー5.0.0にアップデートされ、Automapperがマップを作成しようとしたときに例外が発生しました。AutoMapper 5.0.0 CreateMapの例外が発生しました

次のサンプルが類似の例外スロー{「タイプの発現を 『System.Collections.Generic.IEnumerable`1 [DTOClass]』 『可能System.String』を入力するために割り当てに使用できません」}

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; } 
} 
+0

このエラーは式自体に関連しています。恐らくAutomapperは、内部のどこかで、誤った/間違った型を取得して、 'Assign'メソッドを呼び出します。私は深く調査しませんでしたが、 'IEnumerable 'を 'DTOClass []'と入れ替えることができます。このようなエラーは発生しません。 – MaKCbIMKo

+0

が見つかりました、あなたの[GitHubの問題](https://github.com/AutoMapper/AutoMapper/issues/1460) – MaKCbIMKo

答えて

関連する問題