Я все заработал, но не уверен, почему он не работает на DotNetFiddle.Если я запускаю его в своем собственном приложении, оно работает просто отлично.Я оставил в других вещах, которые я проверял.
Mapper.Initialize(cfg =>
{
cfg.CreateMap<TestClass, TestClassModel>()
.ForMember(d => d._F1, s => s.MapFrom(o => o.F1));
cfg.CreateMap<KeyValuePair<string, TestClass>, KeyValuePair<string, TestClassModel>>()
.ConstructUsing(x => new KeyValuePair<string, TestClassModel>(x.Key, Mapper.Map<TestClassModel>(x.Value)));
cfg.CreateMap(typeof(Dictionary<,>), typeof(Dictionary<string, TestClassModel>))
//.ForCtorParam("collection", opt => opt.MapFrom(src => Mapper.Map<IEnumerable<KeyValuePair<string, TestClassModel>>>(src)))
//.ForCtorParam("comparer", opt => opt.MapFrom(src => StringComparer.OrdinalIgnoreCase));
.ConstructUsing(src => new Dictionary<string, TestClassModel>(Mapper.Map<IEnumerable<KeyValuePair<string, TestClassModel>>>(src), StringComparer.OrdinalIgnoreCase));
});
Если вы собираетесь запускать это в любом типе реальной среды, я настоятельно рекомендую использовать экземплярный тип automapper .