Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动映射-动态类型映射_C#_.net_Automapper - Fatal编程技术网

C# 自动映射-动态类型映射

C# 自动映射-动态类型映射,c#,.net,automapper,C#,.net,Automapper,当我尝试使用automapper映射在运行时生成的类时 AssemblyName asmName = new AssemblyName(string.Format("{0}_{1}", "tmpAsm", Guid.NewGuid().ToString("N"))); AssemblyBuilder asmBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(asmName, AssemblyBuilderAccess.Run); Mod

当我尝试使用automapper映射在运行时生成的类时

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));
AssemblyName asmName=newassemblyName(string.Format(“{0}{1}”,“tmpAsm”,Guid.NewGuid().ToString(“N”)));
AssemblyBuilder asmBuilder=AppDomain.CurrentDomain.DefinedDynamicAssembly(asmName,AssemblyBuilderAccess.Run);
ModuleBuilder ModuleBuilder=asmBuilder.DefinedDynamicModule(“核心”);
TypeBuilder TypeBuilder=GetTempModule().DefineType(“MyDynamicClass”,TypeAttributes.Public);
类型proxy=typeBuilder.CreateType();
var mc=新的MapperConfiguration(cfg=>
{
CreateMap(代理,typeof(MyViewModel));
});
var mapper=mc.CreateMapper();
Map(Activator.CreateInstance(proxy));
我得到以下错误:

AutoMapper.AutoMappingException:缺少类型映射配置 或不支持的映射

不管错误消息怎么说,正如您所看到的,映射已经被清除。有什么建议吗?

尝试使用:

TypeBuilder typeBuilder = moduleBuilder.DefineType("MyDynamicClass", TypeAttributes.Public);
而不是:

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

此外,请检查您正在使用的AutoMapper版本:我在6.1.1.0上测试过了

异常消息中是否没有其他内容(通常是说缺少哪个映射,基本上是哪些类之间的映射)