使用AutoMapper时,此平台上不支持IDictionaryFactory

本文关键字:不支持 IDictionaryFactory 平台 AutoMapper 使用 | 更新日期: 2023-09-27 18:35:34

我已经通过NuGet将AutoMapper 3.1.0-ci1027安装到MVC5网站中。我使用Owain Wraggs的博客作为我的指南来帮助我。

我的配置文件如下所示:

public static class AutoMapperConfig
{
    public static void Initialize()
    {
        Mapper.Initialize(x =>
        {
            x.AddProfile<DomainToViewModelMappers>();
            x.AddProfile<ViewModelToDomainMappers>();
        });
    }
}

我从 Global.asax.cs.Application_Start() 中调用 Initialize() 方法:

AutoMapperConfig.Initialize();

但是,当我运行应用程序时,它会在 Mapper.Initialize() 处崩溃。即使我不包含任何代码,也会发生这种情况。如果我注释掉这一行,代码运行良好,但是当然,我没有使用 AutoMapper 来连接我的对象。

我看到的错误如下:

[平台不支持异常:此类型不支持此类型 平台标识工厂]
AutoMapper.Internal.PlatformAdapter.Resolve(Boolean throwIfNotFound) +320 自动映射器.类型映射工厂..cctor() +46

[类型初始化异常:的类型初始值设定项 "AutoMapper.TypeMapFactory"抛出了一个异常。
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.Initialize(Action
1 动作) +51
目标。Mappers.AutoMapperConfig.Initialize() in c:''Projects''AIMS''AIMS''Mappers''AutoMapperConfig.cs:9
目标。MvcApplication.Application_Start() in c:''Projects''AIMS''AIMS''Global.asax.cs:25

[HttpException (0x80004005):的类型初始值设定项 "AutoMapper.TypeMapFactory"抛出了一个异常。
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext 上下文,HttpApplication app) +9936841
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr 应用上下文) +296

[HttpException (0x80004005):的类型初始值设定项 "AutoMapper.TypeMapFactory"抛出了一个异常。
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9915380 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254

关于我错过的任何想法将不胜感激。

使用AutoMapper时,此平台上不支持IDictionaryFactory

这是AutoMapper中的一个错误,版本3.1.0-ci1032包含该修复程序。事实证明,支持可移植类库需要做更多的工作:)