.net CreateMap引发异常

bogh5gae  于 2023-04-22  发布在  .NET
关注(0)|答案(1)|浏览(217)

嗨,我正试图添加到我的应用程序AutoMapper,但我似乎有一些问题,它在th eintegrationg.这是我到目前为止。
为了不直接依赖Automapper,我为它的最基本功能创建了一个简单的Map:

public class AutoMapper : IAutoMapper
{
    public void CreateMap<TFrom, TTo>()
    {
        Mapper.CreateMap<TFrom, TTo>();
    }

    public TTo Map<TFrom, TTo>(TFrom data)
    {
        return Mapper.Map<TFrom, TTo>(data);
    }
}

我创建了一个配置文件:

public class AutoMapperConfig
{
    private readonly IAutoMapper mapper;

    public AutoMapperConfig(IAutoMapper mapper)
    {
        this.mapper = mapper;
    }

    public void RegisterMappings()
    {
        mapper.CreateMap<ProductDTO , ProductDataContract>();
    }
}

并在我的Global.Asax中添加了一个呼叫:

new AutoMapperConfig(new AutoMapper()).RegisterMappings();

我有这两个对象betwen我想创建一个Map:

public class ProductDTO
{
    public int ProductId { get; set; }
    public int CategoryId { get; set; }
    public int SubcategoryId { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public string Description { get; set; }
    public string ImagePath { get; set; }
    public int NumberOfProducts { get; set; }
}

public class ProductDataContract
{
    public int ProductId { get; set; }
    public int CategoryId { get; set; }
    public int SubcategoryId { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public string Description { get; set; }
    public string ImagePath { get; set; }
    public int NumberOfProducts { get; set; }
}

在我的代码中,我放置了这一行用于测试目的:
var products = productCatalogService.GetProducts();System. out. println();var productsDataContract = mapper.Map(ceva);
问题是,当我运行我的应用程序时,我在Automapper中尝试CreateMap时立即获得异常。下面是类型初始化异常消息:
此平台不支持此类型IDictionaryFactory
我做错了什么?

2wnc66cl

2wnc66cl1#

这听起来像一个reference issue。你应该有一个从你的项目中引用AutoMapper.dll和AutoMapper.Net4.dll。如果你通过nuget安装,这应该是照顾你。
在AutoMapper 3.0中,针对不同平台的软件包发生了变化。

相关问题