大家有没有在Asp.Net MVC4 中使用 AutoMapper 这个东西?
有没有遇到这个一个问题:
This type is not supported on this platform IDictionaryFactory
[PlatformNotSupportedException: This type is not supported on this platform IDictionaryFactory]
AutoMapper.Internal.PlatformAdapter.Resolve(Boolean throwIfNotFound) +320
AutoMapper.TypeMapFactory..cctor() +46
[TypeInitializationException: The type initializer for 'AutoMapper.TypeMapFactory' threw an exception.]
AutoMapper.TypeMapFactory..ctor() +0
AutoMapper.Mapper.<.cctor>b__0() +55
AutoMapper.Internal.LazyImpl`1.get_Value() +79
AutoMapper.Mapper.get_ConfigurationProvider() +34
AutoMapper.Mapper.get_Configuration() +28
AutoMapper.Mapper.CreateMap() +39
请指点如何解决! 急……急
是不是AutoMapper的版本问题
是不是少了引用 AutoMapper.Net4.dll
这个的确是版本的问题,老版本没有这个问题,但是最新版本却出现了这么个问题,按照国际惯例,应该是不会出现这样的问题的,据Googlr搜查查证,这个应该是个Bug,如果阁下有好的解决办法,还敬请告知……谢谢!
@吴哥-Angkor: Google (键盘敲的太快了,抱歉)
IDictionaryFactory 是你自己写的类吗?
你得看下 AutoMapper 的使用条件,然后对比你自己写的 IDictionaryFactory 同可以 map 的类型之间的差别.
这个不是自己写的,应该AutoMapper 内部的一个类
@吴哥-Angkor: This type is not supported,那你就看看这个 type 到底是你的哪个类型.
@Launcher: 本来打算项目升级,使用这个AutoMapper最新版本的,结果掉链子了…… 是AutoMapper 一个bug吧!
谢谢 指点!!!
@吴哥-Angkor: 你要有时间翻翻它的源码,大概的意思是 AutoMapper 使用了 IDictionaryFactory 类型,但是该类型在你当前使用的 platform(这个 platform 可能指的是 .Net 版本或 OS 版本) 上不被支持.
@Launcher: 通过nuget 获取的Dll ,里面包括了不同平台的Dll,.net4 ,WP,SL, 还有多平台可移植的版本,我使用的是.net4 这个目录下的dll,应该没问题的。 后期有时间的话,我会研究一下这个 AutoMapper 的源码的(Git,Codeplex 上都有),这个DLL 还是 一个很不错的工具, 现在使用 AutoMapper.1.0.0.155 这个版本,是没问题的,AutoMapper.3.0.0.1 这个版本就出现这个问题了,阁下不妨也可以尝试一下 ……!
谢谢 阁下的如此细心……!不胜感激!