2017-07-18 30 views
2

私はautomapperでマップするときに、実行時に生成されたクラスを作成します。エラーメッセージが言うあなたが見ることができるように、マッピングはdeclearedされたのにもかかわらずAutomapper - 動的型マッピング

AutoMapper.AutoMapperMappingException : Missing type map configuration or unsupported mapping.

AssemblyName asmName = new AssemblyName(string.Format("{0}_{1}", "tmpAsm", Guid.NewGuid().ToString("N"))); 
AssemblyBuilder asmBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.Run); 
ModuleBuilder moduleBuilder = asmBuilder.DefineDynamicModule("core"); 
TypeBuilder typeBuilder = GetTempModule().DefineType("MyDynamicClass", TypeAttributes.Public); 
Type proxy = typeBuilder.CreateType(); 
var mc = new MapperConfiguration(cfg => 
{ 
    cfg.CreateMap(proxy, typeof(MyViewModel)); 
}); 

var mapper = mc.CreateMapper(); 
mapper.Map<MyViewModel>(Activator.CreateInstance(proxy)); 

は、私は次のエラーを取得します。なにか提案を?

+0

でテストは、より何もありません例外メッセージ(通常、どのクラス間でどのマッピングが欠落しているかがわかります) –

答えて

0

使用してみてください:

TypeBuilder typeBuilder = moduleBuilder.DefineType("MyDynamicClass", TypeAttributes.Public); 

の代わりに:も

TypeBuilder typeBuilder = GetTempModule().DefineType("MyDynamicClass", TypeAttributes.Public); 

、使用しているAutoMapperのバージョンチェック:私は6.1.1.0

関連する問題